0
我有一個名爲「prog.py」的python腳本。我想添加一個功能來打開一個監視當前腳本操作的新進程。腳本終止時,進程會識別終止,然後調用某個函數。這是一個僞代碼:在主進程結束後啓動的Python中創建一個進程
while (script is active):
sleep(1) # check its status once a second
func()
你知道該怎麼做嗎?
我有一個名爲「prog.py」的python腳本。我想添加一個功能來打開一個監視當前腳本操作的新進程。腳本終止時,進程會識別終止,然後調用某個函數。這是一個僞代碼:在主進程結束後啓動的Python中創建一個進程
while (script is active):
sleep(1) # check its status once a second
func()
你知道該怎麼做嗎?
+1爲最後一句。只要使用'atexit',並且不要打擾進程,除非有必要的特定原因。 –
在atexit文檔中存在以下問題: 「當通過未由Python處理的信號終止程序時,當檢測到Python致命內部錯誤或os._exit () 叫做。」 我正在尋找一種解決方案,可以在任何情況下終止腳本... – CrazySynthax
@CrazySynthax:在這種情況下,監視器進程管理「主要」進程仍然更簡單,而不是「主要「進程產生一個監視器,然後試圖依次監視主進程。前者是對「子進程」的簡單使用,後者涉及一般不可移植的操作系統特定進程分離步驟和嚴重問題。 – ShadowRanger