Python實現的軟件狗

下面代碼實現了一個軟件狗,被監控的程序做爲狗的子程序存在,程序名稱用參數傳入,程序退出後會自動啓動。

#!/usr/bin/python
import subprocess
import sys
import time

def restartproc():
    p = subprocess.Popen([sys.argv[1]], shell=False, stdout=False)

    while 1:
        time.sleep(1)
        ret = subprocess.Popen.poll(p)
        if ret is None:
            print "Process_id = ", p.pid;
        else:
            print "Process termined!";
            p = subprocess.Popen([sys.argv[1]], shell=False, stdout=False)
    
if __name__ == "__main__":
    restartproc();
Python 2.7環境下運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章