我已經創建了一個應用程序,基本上是一個用C編寫的deamon。它停止並開始使用shell腳本。具體而言,要停止它,使用kill來發送一個SIGTERM信號。守護進程的PID存儲在文件光盤上的格式爲:殺:不是一個PID或有效的工作規範
1234\n
一個用戶報告說他們無法停止守護進程,shell腳本返回錯誤:
kill: `': not a pid or valid job spec
的PID被取出並在shell腳本中使用如下:
if [ -f "${PID_FILE}" ]
then
FCPID=`head -n 1 $PID_FILE`
kill -n SIGTERM "${FCPID}"
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
rm -f ${PID_FILE}
echo "OK"
else
echo "FAIL"
exit 1
fi
else
echo "Wasn't running"
exit 1
fi
它的工作原理在我的機器(Ubuntu的10.04)精細,至今沒有人報告了這個問題。有沒有人認識到這個錯誤,或者shell腳本中是否有錯誤可能導致某些平臺出現問題?
謝謝 - 一個空的PID參數給出了這個確切的錯誤。 – SlappyTheFish