2015-11-03 28 views
1

如何識別過程處於凍結狀態在python如何識別進程在python中處於凍結狀態?

我每天晚上中旬上運行的服務器Python文件,有時它進入凍結狀態。這是在5或6天后發生的?

Python腳本用不了運行時的內存或負載,它需要4個小時,如果120個文件的發佈。

以下步驟:

  1. 運行Python腳本custom.py
  2. 後1個小時再次運行相同的Python腳本時存在沒有運行相同的腳本。

如果腳本是前面的腳本仍處於系統然後相同的腳本將不會終止。

但是運行腳本進入Froze或Zombie狀態的過程,則下一次腳本不會運行,因爲系統中仍然存在普及腳本。

+0

您可以使用cron作業,它將重新啓動程序 – AndreL

+0

是的,我由cron選項卡運行,但腳本進入冰凍狀態。 –

+0

你有你的腳本打印? – AndreL

回答

2

如果你想有一個腳本因超時而被殺死,你是在UNIX上,您可以使用SIGALRM:Timeout on a function call

如果你要防止將推出相同的腳本的多個副本,有幾種解決方案。最簡單的是ps aux | grep。如果這還不夠,你可以使用包文件鎖https://pypi.python.org/pypi/filelock/ 但是從我的經驗,它仍不穩定。最好的解決辦法是使用SYS-V IPC信號燈http://semanchuk.com/philip/sysv_ipc/。一旦進程終止,您可以設置undo標誌以刪除信號鎖。

相關問題