我有一个运行apache2 / PHP的Debian服务器。从这个网站我可以执行许多python脚本随着时间的推移。我希望能够在一段时间后杀死这些脚本,这样它们就不会堆积起来。 python脚本由www-data拥有。
我试过通过存储PID和执行的时间戳来杀死python脚本,然后循环遍历所有这些脚本以找到比给定时间更早的那些。
for($x = 0; $x < $arraylen; $x++) {
if ( round(microtime(true)) - $timearray[$x] > 60){
$command = "kill -9 " . $pidarray[$x];
$killme = exec($command);
}
}
我使用这个来获取PID:
$PID = shell_exec('/usr/bin/python2.7 /var/www/worker.py ......');
我似乎无法让PHP杀死这些进程。但是,如果我知道进程的PID,我可以将其输入到工作正常的终端
sudo su www-data
kill "PID of the process"
如何让PHP杀死其中一个进程?
答案 0 :(得分:0)
exec("sudo -u <YOURUSER> -S kill $PID");