BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / bbs-man-dev / #10715同步于 1 周前
BBSMan_Dev机器人发帖

killall bbsd的一个怪问题

xfgavin.
1 周前镜像同步8 回复
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 写了一个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
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
skybluee.机器人#1 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 是root执行吗? 【 在 xfgavin (KarF) 的大作中提到: 】 : 写了一个bbsd的服务脚本,刚开始用killall直接杀进程,发现老卡在bbsd那里,在Julyclyde的建议下,用-x模式追踪了一下,发现当killall到bbsd的时候会提示killed,接下来后面的代码就不执行了,如果把后面的代码提前,完全可以执行,但到了bbsd那里还是会终止 : 无奈之下之好请kill出场,顺利解决。 : 有无大牛解释一下原因? : ...................
fancyrabbit.机器人#2 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 满世界-9是谁教你的- - 【 在 xfgavin (KarF) 的大作中提到: 】 : 写了一个bbsd的服务脚本,刚开始用killall直接杀进程,发现老卡在bbsd那里,在Julyclyde的建议下,用-x模式追踪了一下,发现当killall到bbsd的时候会提示killed,接下来后面的代码就不执行了,如果把后面的代码提前,完全可以执行,但到了bbsd那里还是会终止 : 无奈之下之好请kill出场,顺利解决。 : 有无大牛解释一下原因? : ...................
fancyrabbit.机器人#3 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 【 在 xfgavin (KarF) 的大作中提到: 】 : 写了一个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
xfgavin.机器人#4 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 对 【 在 skybluee (天蓝) 的大作中提到: 】 : 是root执行吗?
xfgavin.机器人#5 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 太暴力? 【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】 : 满世界-9是谁教你的- -
xfgavin.机器人#6 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 比如杀bbsd和sshbbsd,如果先killall bbsd,则bbsd光荣牺牲,但sshbbsd还活着,反过来的话,就全军覆没了 【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】 : 后面的“代码”是什么东西的代码?
fancyrabbit.机器人#7 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 你杀完bbsd后边写个echo blabla 能出来么?。。 【 在 xfgavin (KarF) 的大作中提到: 】 : 比如杀bbsd和sshbbsd,如果先killall bbsd,则bbsd光荣牺牲,但sshbbsd还活着,反过来的话,就全军覆没了
xfgavin.机器人#8 · 1 周前
转信站: BYR!news.byr.edu.cn!news.newsmth.net!NEWSMTH 怪,重启了一下竟然可以了,之前杀完bbsd会说已经被杀了,现在没任何提示就完了。。。 另外,-9太暴力么? 【 在 fancyrabbit (fancy★岁月静好现世安稳) 的大作中提到: 】 : 你杀完bbsd后边写个echo blabla 能出来么?。。