【发布时间】:2017-11-10 09:56:46
【问题描述】:
我试图从 php 脚本中杀死一个进程,但它一直失败
ps ax | grep 8648
8648 ? Ss 0:15 /usr/bin/php -f /home/whatever/websites/engine/shadow_engine/engine_SHDW_01.php -- --id=SHDW_01
9226 pts/0 S+ 0:00 grep 8648
我的 php 脚本:
if(isset($_GET['id']) && strlen(trim($_GET['id'])) > 0){
$killCommand = "kill {$_GET['id']}";
exec($killCommand, $killOutput, $killStatus);
if($killStatus === 0){
echo "Process successfully killed";
} else {
echo "Failed to kill process";
}
}
$killStatus 总是返回 1 而不是 0,这意味着 exec 命令失败,我尝试过 'sudo kill {$_GET['id']}' 甚至 'sudo kill -9 {$_GET['id'] }',但它们都不起作用。
编辑:httpd 错误日志显示“sh: line 0: kill: (1707) - Operation not allowed”
【问题讨论】:
-
该进程的所有者是谁?
-
我用 php somescript.php 开始它