1
我有幾個可執行的C++二進制文件,我需要從一個python腳本啓動。根據這些可執行文件的狀態,該腳本將執行一些操作。比方說,我開始了4個獨立的程序,它們都在運行。我的腳本需要確保這4個程序運行愉快,並沒有崩潰。如果確實如此,腳本將發送一封電子郵件,其中包含「Process XYZ此時失敗」行中的信息。python - 從python啓動多個二進制文件並監視其狀態
我在Linux機器上。我嘗試過各種子過程技巧的組合,但沒有骰子。我想我可能需要利用線程,並在開始的進程上保留一個「看門狗」。理想情況下,腳本需要在單獨的終端窗口中啓動這些程序,因此總共有4個終端窗口。 下面是我的嘗試:
import subprocess as sp
clear = sp.call('clear')
try:
comm = sp.Popen(['xterm', '-e', '~/stuff/comm'])
while sp.Pipe == -1:
...do stuff
except sp.PIPE == -2:
...send email.
上述方法的問題一直是,如果我殺了腳本啓動的程序,該腳本並沒有意識到它被殺死。我會嘗試在後面添加更多連貫的信息,但如果任何人已經知道我正在嘗試完成什麼,我將不勝感激。