Chinaunix

标题: 脚本运行,为什么有时不能执行这一句? [打印本页]

作者: lzjy    时间: 2007-09-27 17:06
标题: 脚本运行,为什么有时不能执行这一句?
pid=`ps -ef|grep inetd|grep -v "grep"|tr -s ' '|cut -d ' ' -f3`
kill $pid
inetd

专门加了一个用户执行这个脚本用于杀死inetd进程后重新启动inetd,多数情况脚本运行正常,偶尔有几次不能执行inetd这句,没能重启inetd进程,导致用户无法连接服务器。

请各位大大帮帮我,对脚本不太懂,我想在退出前做个循环,检测是否启动了inetd进程,如果没有则再执行,否则就退出。
不知如何实现。是否有更好的方法来实现?
作者: bigqueues    时间: 2007-09-27 17:20
我觉得可能是kill $pid没有成功。
所以没有重起
pid=`ps -ef|grep inetd|grep -v "grep"|tr -s ' '|cut -d ' ' -f3`
kill $pid
sleep 5
pid=`ps -ef|grep inetd|grep -v "grep"|tr -s ' '|cut -d ' ' -f3`
if [ "$pid" != "" ];
then
    kill -9 $pid
fi
inetd
作者: starvalley    时间: 2007-09-27 19:41
用kill -HUP $pid是不是更好一点?
作者: lzjy    时间: 2007-10-13 13:21
谢谢2位大侠支招。。
作者: bigqueues    时间: 2007-10-13 14:50
呵呵,我素新手。。
kill -HUP?
多谢三楼大侠,学习了:)




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2