求助:怎么实现脚本自动杀死进程(不想每次输入密码)

sh/bash/dash/ksh/zsh等Shell脚本
回复
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#1

帖子 hjxhjh » 2010-10-06 21:39

ps -ef |grep -v "grep" |grep "java"|awk '{print $2}'|xargs sudo kill -9
这样的话每次都要提示输入密码,那位高手指点下不想每次输入密码。
能像类似这样实现mysql -u$USER -p$PASSWORD,可我试了没有成功。
在线等高手指点
附件
结果这样.jpg
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#2

帖子 hjxhjh » 2010-10-06 21:45

自己顶一下吧,敬请高手指点呀~~~
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#3

帖子 tusooa » 2010-10-06 22:52

代码: 全选

tlcr: 0 庚寅年八月廿九日 22:48:24 ~/应用
● sudo dog /etc/sudoers G NOPASS
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c /home/tusooa/应用/脚本/ib-IrcBot.perl
#tusooa ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#tusooa'"
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#perl-cn'"
tusooa  ALL=(ALL) NOPASSWD: /home/tusooa/应用/脚本/ib-IrcBot.perl 
# %wheel        ALL=(ALL) NOPASSWD: ALL
tlcr: 0 庚寅年八月廿九日 22:48:38 ~/应用
● 
明白不?

代码: 全选

] ls -ld //
头像
kumox
帖子: 2114
注册时间: 2008-04-14 23:29
来自: 曾也在NB大学呆过
联系:

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#4

帖子 kumox » 2010-10-06 23:04

tusooa ALL=(ALL) NOPASSWD: /home/tusooa/应用/脚本/ib-IrcBot.perl

这个有效吗?脚本里面调用的系统其他命令也不用密码了?
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#5

帖子 tusooa » 2010-10-06 23:11

具体的,看 http://luy.li/

代码: 全选

] ls -ld //
头像
astolia
论坛版主
帖子: 6447
注册时间: 2008-09-18 13:11

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#6

帖子 astolia » 2010-10-08 1:04

按名字kill的话直接用killall吧,不用那么多管道

代码: 全选

killall -r '.*java.*'
还有就是,能不用root运行那个java程序的话,就不必用sudo了
头像
THINKERCN
帖子: 79
注册时间: 2008-10-21 11:17

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#7

帖子 THINKERCN » 2010-10-08 14:53

Google搜索“shell expect用法”,因该满足你的要求。
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#8

帖子 hjxhjh » 2010-10-09 11:24

谢谢大家,我就是不想改/etc/sudoers 。
因为以前改过格式稍微出错,sudo命令就不能用了
系统相当于崩溃。

可能我还是太菜了。。。。

还有 我这个java 是在root 权限下运行的。
恩 这个讲的确实不错:
具体的,看 http://luy.li/
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#9

帖子 hjxhjh » 2010-10-09 11:35

THINKERCN 写了:Google搜索“shell expect用法”,因该满足你的要求。
看了下,expect 确实是个利器呀 谢谢~~
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#10

帖子 hjxhjh » 2010-10-09 11:49

tusooa 写了:

代码: 全选

tlcr: 0 庚寅年八月廿九日 22:48:24 ~/应用
● sudo dog /etc/sudoers G NOPASS
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c /home/tusooa/应用/脚本/ib-IrcBot.perl
#tusooa ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#tusooa'"
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#perl-cn'"
tusooa  ALL=(ALL) NOPASSWD: /home/tusooa/应用/脚本/ib-IrcBot.perl 
# %wheel        ALL=(ALL) NOPASSWD: ALL
tlcr: 0 庚寅年八月廿九日 22:48:38 ~/应用
● 
明白不?
您遇到这种情况就是修改 /etc/sudoers吗?
我以前修改过结果sudo命令不能不用了。害怕了~~
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#11

帖子 hjxhjh » 2010-10-09 20:53

THINKERCN 写了:Google搜索“shell expect用法”,因该满足你的要求。
你好,用expect的话这样还会报错。对shell 不了解。能否给指点下~~谢谢~~
#!/usr/bin/expect
export PWD=jiaohuan
spawg ps -ef |grep -v grep |grep java |awk '{print $2}'|sudo kill -9
expect "*[sudo] password for jiaohuan:"
send "$PWD"
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#12

帖子 tusooa » 2010-10-09 21:00

hjxhjh 写了:
tusooa 写了:

代码: 全选

tlcr: 0 庚寅年八月廿九日 22:48:24 ~/应用
● sudo dog /etc/sudoers G NOPASS
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c /home/tusooa/应用/脚本/ib-IrcBot.perl
#tusooa ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#tusooa'"
#tusooa  ALL=NOPASSWD: /bin/su ircbot -c "/home/tusooa/应用/脚本/ib-IrcBot.perl '#perl-cn'"
tusooa  ALL=(ALL) NOPASSWD: /home/tusooa/应用/脚本/ib-IrcBot.perl 
# %wheel        ALL=(ALL) NOPASSWD: ALL
tlcr: 0 庚寅年八月廿九日 22:48:38 ~/应用
● 
明白不?
您遇到这种情况就是修改 /etc/sudoers吗?
我以前修改过结果sudo命令不能不用了。害怕了~~
讲不能用的,都是不知道visudo 的。。。

代码: 全选

sudo visudo
带语法检查的。

代码: 全选

] ls -ld //
头像
THINKERCN
帖子: 79
注册时间: 2008-10-21 11:17

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#13

帖子 THINKERCN » 2010-10-09 22:22

hjxhjh 写了:
THINKERCN 写了:Google搜索“shell expect用法”,因该满足你的要求。
你好,用expect的话这样还会报错。对shell 不了解。能否给指点下~~谢谢~~
#!/usr/bin/expect
export PWD=jiaohuan
spawg ps -ef |grep -v grep |grep java |awk '{print $2}'|sudo kill -9
expect "*[sudo] password for jiaohuan:"
send "$PWD"
先确认下你执行命令后的输出。
如果最后出现 "password for jiaohuan:"
那么就可以使用
expect "password for jiaohuan:"
之后还要执行其他命令的话,就
expect "~$"或"~#"
简单说,expect之后就是等待出现的字符。
hjxhjh
帖子: 12
注册时间: 2010-04-30 16:48

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#14

帖子 hjxhjh » 2010-10-14 20:42

恩 谢谢~~~
THINKERCN 写了:
hjxhjh 写了:
THINKERCN 写了:Google搜索“shell expect用法”,因该满足你的要求。
你好,用expect的话这样还会报错。对shell 不了解。能否给指点下~~谢谢~~
#!/usr/bin/expect
export PWD=jiaohuan
spawg ps -ef |grep -v grep |grep java |awk '{print $2}'|sudo kill -9
expect "*[sudo] password for jiaohuan:"
send "$PWD"
先确认下你执行命令后的输出。
如果最后出现 "password for jiaohuan:"
那么就可以使用
expect "password for jiaohuan:"
之后还要执行其他命令的话,就
expect "~$"或"~#"
简单说,expect之后就是等待出现的字符。
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)

#15

帖子 tusooa » 2010-10-15 21:46

之后还要执行其他命令的话,就
expect "~$"或"~#"
简单说,expect之后就是等待出现的字符。
这就不对了。
expect只管spawn的命令,spawn完了,expect就完了。$是shell的事情啊。

代码: 全选

] ls -ld //
回复