【发布时间】:2022-01-13 07:52:34
【问题描述】:
我有一个 php 脚本,可以在杀死一些旧进程后执行一些操作。
act.php
$pids = shell_exec('ps aux | grep "saso" | awk \'{print $2}\'');
$pids = str_replace("\n", ' ', $pids);
$pids = array_filter(explode(' ', $pids));
foreach ($pids as $pid) {
shell_exec('kill -9 ' . $pid . ' > /dev/null 2>&1 &');
}
// reset of the code . ..
脚本运行php act.php 运行良好。它获取进程 ID,将其杀死,然后运行重置。
但是当我运行nohup php act.php & 或nohup php act.php 时它不起作用。进程没有被杀死。
我需要nohup 在后台运行脚本而不会挂断。
PHP 脚本不能获取 nohup 后面的 pids 吗?还有其他选择吗?
提前致谢。
【问题讨论】: