2017-07-14 58 views
0

我有一個調用函數的python腳本,我想每5分鐘運行一次cronjob。停止函數如果仍在運行,請再次運行

def colour_images(images=None): 
    ... 
    os.system("command") 
    ... 

if __name__ == '__main__': 
    colour_images() 

它運行使用的操作系統我想知道,如果任務完成(沒有類似的任務正在運行),運行命令之前到終端的命令。

+2

使用文件'subprocess.Popen.communicate'代替。 https://docs.python.org/2/library/subprocess.html#popen-objects –

+0

所以,你基本上希望你的腳本檢查是否有一個python腳本從相同的位置運行,並有相同的名稱本身? – BoboDarph

回答

0

開始作業時寫入一個虛擬鎖文件,並在完成時刪除它。然後,您可以檢查鎖文件是否存在,以決定是否再次運行該腳本。

如果文件上的日期和時間比10+分鐘年長只是刪除它以防止某些錯誤導致不能被刪除

+0

爲什麼這個評論被低估了? – BoboDarph

+0

我也和這一起去了&我向上投了票。我沒有添加刪除文件的選項,只是爲了查看它可能被卡住的頻率。 –

相關問題