分页: 1 / 1
求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-06 21:39
由 hjxhjh
ps -ef |grep -v "grep" |grep "java"|awk '{print $2}'|xargs sudo kill -9
这样的话每次都要提示输入密码,那位高手指点下不想每次输入密码。
能像类似这样实现mysql -u$USER -p$PASSWORD,可我试了没有成功。
在线等高手指点
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-06 21:45
由 hjxhjh
自己顶一下吧,敬请高手指点呀~~~
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-06 22:52
由 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 ~/应用
●
明白不?
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-06 23:04
由 kumox
tusooa ALL=(ALL) NOPASSWD: /home/tusooa/应用/脚本/ib-IrcBot.perl
这个有效吗?脚本里面调用的系统其他命令也不用密码了?
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-06 23:11
由 tusooa
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-08 1:04
由 astolia
按名字kill的话直接用killall吧,不用那么多管道
代码: 全选
killall -r '.*java.*'
还有就是,能不用root运行那个java程序的话,就不必用sudo了
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-08 14:53
由 THINKERCN
Google搜索“shell expect用法”,因该满足你的要求。
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 11:24
由 hjxhjh
谢谢大家,我就是不想改/etc/sudoers 。
因为以前改过格式稍微出错,sudo命令就不能用了
系统相当于崩溃。
可能我还是太菜了。。。。
还有 我这个java 是在root 权限下运行的。
恩 这个讲的确实不错:
具体的,看
http://luy.li/
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 11:35
由 hjxhjh
THINKERCN 写了:Google搜索“shell expect用法”,因该满足你的要求。
看了下,expect 确实是个利器呀 谢谢~~
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 11:49
由 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命令不能不用了。害怕了~~
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 20:53
由 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"
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 21:00
由 tusooa
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 的。。。
带语法检查的。
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-09 22:22
由 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之后就是等待出现的字符。
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-14 20:42
由 hjxhjh
恩 谢谢~~~
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之后就是等待出现的字符。
Re: 求助:怎么实现脚本自动杀死进程(不想每次输入密码)
发表于 : 2010-10-15 21:46
由 tusooa
之后还要执行其他命令的话,就
expect "~$"或"~#"
简单说,expect之后就是等待出现的字符。
这就不对了。
expect只管spawn的命令,spawn完了,expect就完了。$是shell的事情啊。