- 主题:killall bbsd的一个怪问题
写了一个bbsd的服务脚本,刚开始用killall直接杀进程,发现老卡在bbsd那里,在Julyclyde的建议下,用-x模式追踪了一下,发现当killall到bbsd的时候会提示killed,接下来后面的代码就不执行了,如果把后面的代码提前,完全可以执行,但到了bbsd那里还是会终止
无奈之下之好请kill出场,顺利解决。
有无大牛解释一下原因?
另附目前正常的服务控制脚本:
#==============================================================================
#!/bin/bash
startbbsd()
{
/home/bbs/bin/miscd daemon &
/home/bbs/bin/bbslogd &
/home/bbs/bin/bbsd -p 23 &
/home/bbs/bin/sshbbsd -p 22 &
/home/etc/php-cgi.sh start
if [ -s /home/bbs/crontab.bbs ]
then
/usr/bin/sudo -u bbs /usr/bin/crontab /home/bbs/crontab.bbs
else
/usr/bin/sudo -u bbs /usr/bin/crontab /home/bbs/crontab.bbs.bk
fi
}
stopbbsd()
{
/usr/bin/sudo -u bbs /usr/bin/crontab -l>/home/bbs/crontab.bbs
if [ -s /home/bbs/crontab.bbs ]
then
cp /home/bbs/crontab.bbs /home/bbs/crontab.bbs.bk
fi
/usr/bin/sudo -u bbs /usr/bin/crontab -r
/home/etc/php-cgi.sh stop
SSHBBSDPID=`ps aux|grep ^bbs|grep "sshbbsd"|awk '{printf "%s ",$2}'`
if [ ${#SSHBBSDPID} -gt 0 ]
then
/bin/kill -9 $SSHBBSDPID
fi
/usr/bin/killall -9 bbslogd
BBSLOGDPID=`ps aux|grep ^bbs|grep "/bin/bbslogd"|awk '{printf "%s ",$2}'`
if [ ${#BBSLOGDPID} -gt 0 ]
then
/bin/kill -9 $BBSLOGDPID
fi
BBSDPID=`ps aux|grep ^bbs|grep "/bin/bbsd"|awk '{printf "%s ",$2}'`
if [ ${#BBSDPID} -gt 0 ]
then
/bin/kill -9 $BBSDPID
fi
MISCDPID=`ps aux|grep ^bbs|grep "/bin/miscd"|awk '{printf "%s ",$2}'`
if [ ${#MISCDPID} -gt 0 ]
then
/home/bbs/bin/miscd flush
/bin/kill -9 $MISCDPID
fi
ipcs -m|awk '$0~/bbs/ {system(sprintf("ipcrm -m %s ",$2));}'
ipcs -q|awk '$0~/bbs/ {system(sprintf("ipcrm -q %s ",$2));}'
}
case "$1" in
start)
startbbsd
;;
restart|reload|force-reload)
stopbbsd
startbbsd
;;
stop)
stopbbsd
;;
*)
echo "Usage: $0 start|stop|restart" >&2
exit 3
;;
esac
--
FROM 59.109.6.*
对
【 在 skybluee (天蓝) 的大作中提到: 】
: 是root执行吗?
--
FROM 59.109.6.*
太暴力?
【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】
: 满世界-9是谁教你的- -
--
FROM 59.109.6.*
比如杀bbsd和sshbbsd,如果先killall bbsd,则bbsd光荣牺牲,但sshbbsd还活着,反过来的话,就全军覆没了
【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】
: 后面的“代码”是什么东西的代码?
--
FROM 59.109.6.*
怪,重启了一下竟然可以了,之前杀完bbsd会说已经被杀了,现在没任何提示就完了。。。
另外,-9太暴力么?
【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】
: 你杀完bbsd后边写个echo blabla 能出来么?。。
--
FROM 59.109.6.*