gpt4 book ai didi

php - 在 Linux 中的 PHP 脚本中终止所有相关进程

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:52 24 4
gpt4 key购买 nike

假设我有一个 PHP 脚本,

//main.php -> PID = 1002
<?php
exec('ProcessOne');
exec('ProcessTwo');
//... many other exec calls
?>

main.php 创建了许多其他进程,它们有自己的 pid,脚本可能不会记录/跟踪这些 pid,但 main.php 的 pid 是已知的。

我的问题是:如何通过只知道 main.php 的 pid(在我的示例中为 1002)来终止由 main.php(包括 main.php)创建的所有进程?

脚本应该在 Linux 中运行。

谢谢

最佳答案

pkill -TERM -P 1002

pkill -P PID 为您提供所有子进程,-TERM 向所有子进程发送 TERM 信号。

杀死 child 的 child :

kill `pstree -p 1002 | sed 's/(/\n(/g' | grep '(' | sed 's/(\(.*\)).*/\1/' | tr "\n" " "`

来自 Walking a process tree 的修改版本.

关于php - 在 Linux 中的 PHP 脚本中终止所有相关进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11070717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com