【发布时间】:2010-12-11 07:39:33
【问题描述】:
出于测试目的,我有这个 shell 脚本
#!/bin/bash
echo $$
find / >/dev/null 2>&1
从交互式终端运行此命令,ctrl+c 将终止 bash 和 find 命令。
$ ./test-k.sh
13227
<Ctrl+C>
$ ps -ef |grep find
$
在后台运行它并杀死 shell 只会孤立脚本中运行的命令。
$ ./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 应用程序启动 - 脚本退出时需要某种形式的清理 - 我应该研究的任何选项或重写脚本以在退出时自行清理的任何方式?
【问题讨论】:
标签: bash