終止Python進程看看這個簡單的Python代碼流程:在有限的時間
from multiprocessing import Process
import time
def f(name):
time.sleep(100)
print 'hello', name
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()#Has to be terminated in 5 seconds
#p.join()
print "This Needs to be Printed Immediately"
我想我正在尋找像p.start(timeout)
功能。
我想終止p
過程,如果它沒有在5秒鐘內自行完成。我怎樣才能做到這一點?似乎沒有這樣的功能。
如果p.join()
是註釋掉,下面print
線將不得不等待百秒,不能「印刷Immediately'.But我希望它馬上這樣做的p.join()
有被註釋掉。
它可能不是最好的選擇,但如果你真的想要一個過程,你應該能夠終止它通過發送信號到過程(因爲您可以訪問其PID)。 –