推出,過程我都在啓動(/etc/init.d/boot.local)推出fooinit.rt過程廣東話終止它在啓動時在後臺
這裏是boot.local在文件
...
/bin/fooinit.rt &
...
我在作業中創建一個訂單列表以殺死fooinit.rt。即在C代碼
觸發我寫(中)停止腳本殺死-9的pidof fooinit.rt寫入 這裏被停止腳本
#!/bin/sh
proc_file="/tmp/gdg_list$$"
ps -ef | grep $USER > $proc_file
echo "Stop script is invoked!!"
suff=".rt"
pid=`fgrep "$suff" $proc_file | awk '{print $2}'`
echo "pid is '$pid'"
rm $proc_file
當工作定時器超時「殺-9 pid'(of fooinit.rt)命令不能終止fooinit.rt進程!
我檢查了打印出的pid編號,並輸入了句子「Stop script is invoked !!」是好的!
這裏是「在」 C代碼作業命令(我覈實,後來經過1分鐘停止scriptis叫)
...
case 708: /* There is a trigger signal here*/
{
result = APP_RES_PRG_OK;
system("echo '/sbin/stop' | at now + 1 min");
}
...
在另一方面,它可以正常工作的情況下,手動啓動fooinit.rt從shell作爲一個普通的命令。 (而不是從/etc/init.d/boot.local)。所以殺-9工作,並終止fooinit.rt過程
你有任何想法,爲什麼殺-9不能終止foo.rt過程中,如果它是從/etc/init.d/boot.local
我已經解決了這個問題。 「另一個潛在的問題是$ USER的設置 - 你確定它是正確的嗎?」這是賓果!!謝謝。 – roll 2014-09-04 09:57:49
儘管我的c代碼進程(in)在部署作業時以root用戶身份出現在ps -ef上,但當我將此代碼添加到停止腳本時(echo「User is'$ USER'」>> $ proc_file),它不會打印任何內容。這裏是輸出 - >用戶是'' – roll 2014-09-04 10:07:29
在啓動進程的情況下,fooinit.rt,invoke.rt(在部署作業時),從shell手動輸出 - >用戶是'root'。並停止腳本正常工作! – roll 2014-09-04 10:12:41