我組裝並配置了一臺運行Debian GNU/Linux的小型服務器。我還安裝了開源視頻遊戲Teeworlds以運行專用服務器。PHP - 驗證程序是否正在運行
我的想法是使用Apache和PHP在我的網站上顯示一些關於服務器狀態的信息。最重要的功能是顯示服務器是否正在運行。
我想先工作正常了許多過程,但不是在我的情況下,使用p纖ep命令:
<?php exec("pgrep process_name", $output, $return);
if ($return == 0) {
/*Service is running*/
}
else{
/*Service is not running*/
}
?>
接下來我發現,這部作品在終端:
ps -ef | awk '$8=="/usr/games/teeworlds-server" {print $2}'
但我不能將它與PHP exec命令一起使用,因爲此字符串使用雙引號(它不起作用這個單引號)。
是否有任何其他方式來檢查使用PHP的進程狀態?或者我做錯了什麼?
注:該遊戲已經從官方的Debian存儲庫安裝。
爲什麼你不能在exec參數中轉義雙引號? – 2014-10-08 09:31:00
@JamesHunt我真的忘了這種可能性!我覺得很愚蠢!我會試一試。 – 2014-10-08 09:35:29
@JamesHunt雙引號的轉義工作原理:我將命令作爲字符串輸出,輸出正確。但是無論實際的進程狀態如何,$ output和$ return都是一樣的。 – 2014-10-08 09:50:39