我正面臨着一個關於從我的php代碼中殺死Linux進程的問題。 我在後臺使用proc_open()
函數從我的php代碼運行Scrapy工具。如何使用pid從php中殺死一個linux進程?
它工作正常,但現在我想殺死這個進程使用它的進程ID。 要做到這一點,我正在使用exec("sudo kill -9 $pid");
其中$pid
是我從我的PHP代碼中獲得的進程ID。
問題是這個進程是代表apache用戶運行的。我認爲可能會有一些權限問題,所以我添加了apache用戶到sudoers文件,如apache ALL=(ALL) NOPASSWD:ALL
,但我仍然無法殺死它。不知何故,同樣的kill命令可以在我的putty控制檯上運行。
我的代碼位於Amazon EC2實例上。
我的問題是,我怎麼能殺死從PHP識別的進程?
壞的想法 - 永遠不會授予Apache sudo權限! –
另外,如果'apache'是進程的所有者,你是否只嘗試'kill -9 $ pid'? –
謝謝@SudiptaChatterjee ..只需殺死-9 $ pid工作..我浪費了這麼多天在這..再次感謝! – kishan