1

“父” 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 父 &

如何修改这些脚本,以便“kill -ABRT”使 Child 退出并在 log.txt 中留下痕迹?照原样,Child 忽略了这些信号。如果第一行(陷阱)被删除,那么它会在“kill -ABRT”时在 log.txt 中留下任何痕迹。

4

1 回答 1

1

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

bash child1 &; echo $!;

然后只是kill -ABRT that_pid

或者你想杀死一个运行特定子脚本的进程?

于 2013-09-06T11:54:22.840 回答