我有一個python腳本,可以在後臺運行很長時間,並試圖找到從它獲取狀態更新的方法。基本上我們正在考慮向它發送SIGUSR1信號,然後讓它報告狀態更新。有python進程對話SIGUSR1調用
在Python中捕捉信號不是問題,有關這方面的信息很多。
但是,如何獲取啓動信號的過程的信息?似乎沒有辦法找出接收進程啓動進程的pid,這可能提供一種發回信息的方式。單個回覆消息就足夠了('正忙於上傳,現在55%,將在這樣的時間完成');一個持續的更新會很棒但不是必需的。
我想到的是將這些數據寫入一個具有預定名稱的臨時文件 - 存在將過時的文件拋在後面的問題,並且需要某種清理例程。但是,這聽起來像一個黑客。有更好的可用嗎?
運行過程的信號方式並不重要,它不一定是kill -SIGUSR1 pid
。任何與它溝通的方式都可以。只要通信可以從主進程運行後啓動的新進程啓動,可能以不同的用戶運行。
謝謝,我在閱讀過有關信號之後就已經害怕了。任何其他技術可以做到這一點?否則,我會確實訴諸使用一個tmp文件。 – Wouter