我需要發生的事情:PHP需要啓動一個服務器應用程序,它具有在後臺運行的根權限。所有這些都應該保持沉默。sh/expect/sudo/screen在一個命令中一起需要
- 需要允許php執行需要root權限的操作。
-Screen需要允許應用在啓動該過程的網頁範圍之外運行。需要
-Expect使屏幕上有一個點要在其中運行
需要-Sh因爲無論開始運行需要後臺運行,可能與&運營商。因爲我不想讓我的PHP頁面返回任何東西,所以還需要將任何輸出傳遞給/ dev/null /。 (?叉...)這是不知何故,如果有人能想到更好的辦法做PHP中的調用可能轉讓
舉個例子,我試圖用腳本是:
#!/usr/bin/expect -f
spawn sh (screen -t srcds /usr/local/srcds_l/startserv)& > /dev/null
exit 0
對於參考我正在嘗試啓動一個反恐精英源服務器,並且startserv是處理啓動服務器並收集其輸出的C代碼的名稱。任何人都可以糾正我的語法片斷,或告訴我爲什麼它是錯誤的做法?
您可能會在這裏得到一些迴應,但serverfault.com可能讓人們對這類事情更有經驗。 – jkerian 2010-08-28 00:21:47