【Linux】神奇的kill

用一个stop脚本,里面有个pipeline,最后一步是kill,我一运行,把我所有的进程都杀了。

脱离语境大概就是运行下面这个命令。

ps aux | grep xxx | grep -v xxx | awk '{print $2}' | xargs kill -15

就是把一个空的参数传给了kill,看文档看了半天,kill不是要一个signal加一个pid才能用的嘛

最后只能找liye师兄

which kill 显示 /bin/kill

原来man kill显示的是sh shell的build-in的kill,实际用的是/bin/kill

运行

kill -l

sh -c "kill -l"

的结果不一样。

经过试验发现/bin/kill比较凶残,如果用null当pid会杀光能杀的所有进程(加个sudo竟然能TM关机。。。)

避免这个问题可以改-15 SIGTERM改-9 SIGKILL就好,或者把命令包一下

sh -c "commad to run"

有老司机带真好 感动 T.T

posted @ 2017-07-26 17:07  syb3181  阅读(248)  评论(3编辑  收藏  举报