Daemon
新貴,啟動失敗無回饋
我在 /opt/xyz/bin/xyz 中有一個守護程序。不幸的是,它無法將自己分叉到後台,並且在接下來的半年內也無法這樣做。我的問題如下:輸入
service xyz start
剛回來
xyz start/running, process 23484
總是,即使它立即以退出程式碼 1 退出。我的配置是這樣的:
$ cat /etc/init/xyz.conf description "XYZ" start on started networking stop on shutdown exec /opt/xyz/bin/xyz
其餘的工作正常。Upstart 辨識出該過程何時已經開始,停止也可以正常工作。
有什麼建議麼?
您需要一個 post-start 節,它將查詢服務是否提供了預期執行的任何服務。所以像
post-start script for try in 1 2 3 4 5 ; do if xyzadmin --ping ; then exit 0 fi sleep 1 done logger -t xyz-upstart -p daemon.err "failed to start within $try seconds, aborting" exit 1 end script
添加守護服務的能力時,如果可能,請確保它在準備好處理請求之前不會分叉,然後“預期分叉”將正確延遲“啟動”條件,否則您仍然需要這篇文章-開始。