如何杀死shell脚本并对其进行处理?

时间:2013-08-01 04:36:05

标签: linux shell ubuntu

我在php中运行一个shell脚本(使用shell_exec)。我想杀死它以及它在运行时创建的所有进程。我知道shell脚本pid。你有什么建议吗? 我使用ubuntu,php作为apache模块。

谢谢。

示例:

#!/bin/bash
echo hello
sleep 20

当我杀死我的脚本时(shell_exec(“sudo kill -9 $ pid”)),睡眠过程没有被杀死,这是不希望的。

2 个答案:

答案 0 :(得分:1)

使用

pkill -TERM -P pid

会杀死子进程

请参阅this answer

答案 1 :(得分:1)

改为使用此kill命令:

kill -- -$pid

杀死正在运行的脚本及其生成的所有子项。