出于测试目的,我有这个shell脚本终止正在运行的命令时,shell脚本被杀害
#!/bin/bash
echo $$
find/>/dev/null 2>&1
从交互终端,CTRL + C运行,这将终止庆典,并find命令。
$ ./test-k.sh
13227
<Ctrl+C>
$ ps -ef |grep find
$
运行在后台,杀壳只会孤立在脚本执行上面的命令。
$ ./test-k.sh &
[1] 13231
13231
$ kill 13231
$ ps -ef |grep find
nos 13232 1 3 17:09 pts/5 00:00:00 find/
$
我希望这个shell脚本在退出时终止它的所有子进程,而不管它如何被调用。它最终将从一个python和java应用程序开始 - 当脚本退出时需要某种形式的清理 - 我应该查看的任何选项或以任何方式重写脚本以在退出时自行清理?
传统的无操作命令是“':'”。 – ephemient 2009-10-29 17:21:27
很热。现在改变它。 – 2009-10-29 17:30:25
如果我在后台启动进程,那么它不会被杀死。如果我不在后台启动,生成的子进程确实会被杀死 – 2011-06-14 20:32:53