2013-02-16 177 views
0

怎樣才能讓Python編寫的.exe程序在啓動後的一段時間內自殺呢?Python構建的exe程序在一段時間後自行終止

如果我有一些代碼並將它編譯到一個.exe文件中,然後啓動它並保持「正在運行」或「等待」狀態,我怎樣才能在幾分鐘後終止它,而不管程序在幹什麼?

之所以這樣,是因爲啓動的exe使用PAMIE調用了一個URL並自動進行了一些點擊。我注意到,如果瀏覽器關閉,進程仍然在內存中,不會自行清理。我想找到一種方法,可以在5分鐘後自動清理流程,這是足夠的時間。我嘗試過使用psutils來檢測過程,但在我的情況下這不起作用。任何建議,不勝感激。

+0

爲什麼這是一個EXE如此重要的事實? – 2013-02-16 21:01:30

+2

更重要的是,你爲什麼需要這樣做? – 2013-02-16 21:02:41

回答

0
  1. 當您的流程開始時創建一個線程。
  2. 使該線程睡眠所需的時間。
  3. 當該睡眠結束時,殺死該進程。
1
def one(Time): 
    time.sleep(Time) 
    sys.exit(0) 

def two(): 
    thread.start_new_thread(one, (600,)) #10min countdown.. 
    #Your running function here....Will run sim. with function one. when time ends, 
    #sys.exit exits program..(Not tested:)) 

two() 
+0

你應該使用線程而不是線程。你爲什麼選擇線程模塊?在這裏解釋這個概念的一些詞語也會有所幫助。 – 2013-02-17 08:55:51

+0

謝謝你的回答。之所以這樣做,是因爲啓動的exe使用PAMIE調用了一個URL並自動進行了一些點擊。我注意到,如果瀏覽器關閉,進程仍然在內存中,不會自行清理。我想找到一種方法,可以在5分鐘後自動清理流程,這是足夠的時間。我嘗試過使用psutils來檢測過程,但在我的情況下這不起作用。任何建議,不勝感激。 – lia1000 2013-02-17 09:14:29

+0

使用線程幾乎是類似的方法,只是使用這個,因爲它是最快的 – 2013-02-18 20:12:05