在php中杀死一个Linux进程


kill a linux process in php

我正在编写一个php代码,用于远程控制连接到linux pc的一些进程和设备。代码是用python编写的。我可以运行脚本和程序使用php函数,如exec()system(),但我不能杀死我的进程。

我想杀死蟒蛇:

<?php 
$PID = exec("pidof python");
echo $PID;
$kill = "kill " . $PID;
exec($kill);
?>

返回正确的PID号,但不终止进程。我也试过exec("kill #PIDnum");,但它不起作用。

有什么建议吗?

Thanks in advance

你只能从PHP中杀死由在你的系统上运行web服务器的用户id所拥有的进程,该用户id通常被设置为低权限帐户,如"nobody", "www", " web"等。

如果python是从PHP脚本启动的,它可以工作。但除此之外,没有

一种解决方法是从PHP向文件追加行,该文件包含要杀死的pid列表。这不会终止进程,你需要用bash或perl、python等语言编写一个单独的脚本来完成。让cron以root身份运行该脚本,定期读取文件,并杀死pid。但是,它不会是瞬间的。不过,您可以将cron设置为每分钟运行这样一个脚本。