Cody Blog

在Python中如何Async的方式呼叫外部程式

最近有個需求:使用Python呼叫外部程式,外部程式屬於背景程式類型。也就是我希望python程式結束時不需要等待外部程式結束。Google了一下,找到Stack Overview的解答,關鍵就是在 subprocess.popen() 使用 creationflags 這個參數,這個方法只有在Windows試驗過,其它的平台就不確定了。比如說我想呼叫notepad:

import subprocess
DETACHED_PROCESS = 0x00000008
subprocess.Popen(["notepad"], shell=True, close_fds=True, creationflags=DETACHED_PROCESS)

這樣這支python程式就會自行結束,而不會等notepad了。

Reference :

python

Related Posts

Comments