在Bash脚本中控制特定的后台子进程

时间:2013-09-06 11:35:17

标签: bash

“父级”Bash脚本

bash Child &
wait
sleep 5; echo "Main end" >>log.txt

“儿童”剧本:

trap 'echo "Child end" >>log.txt;' ABRT
sleep 100
echo "Child end" >>log.txt

运行:bash Parent&

如何修改这些脚本以便“kill -ABRT”会使Child退出log.txt中的跟踪? 因此,Child忽略了这些信号。如果删除了第一行(陷阱),但是在“kill -ABRT”上没有在log.txt中留下任何痕迹。

1 个答案:

答案 0 :(得分:1)

我不知道我是否得到你的问题,但你不能操作PID吗?您可以从变量$!获取/打印出来。

bash child1 &; echo $!;

然后只是kill -ABRT that_pid

或者您想要杀死运行特定子脚本的进程吗?