
我正在使用 capistrano 部署 python 服務。我試圖啟動服務並寫入 pidfile,這樣我就可以重新啟動服務或稍後停止服務。問題是 pidfile 總是落後一個進程 ID,我不知道為什麼。例如,如果pidfile說123,那麼實際運行的進程是124。還是我命令寫錯了?我將在這裡編寫偽命令:
nohup python ./service.py special_argument --config /some_folder/devel.yml --log logs/service.log > /dev/null 2>&1& echo $! > /some_folder/pids/special_argument.pidfile
答案1
透過委託 python 腳本編寫它自己的 pidfile 來解決這個問題。