python调用外部程序的非阻塞方式
作者:互联网
有没有一种方法可以在python中调用外部程序,而不必等待其执行完成?
我尝试了这个,但是没有运气:
os.system("external_program &")
通常,如果我调用external_program&在bash shell中,它作为后台进程执行.
我该如何在python中执行此操作?对于我的特殊情况,创建另一个线程不起作用.在完成主要的python scrip之后,外部程序应继续执行.
解决方法:
是的,请使用subprocess
module.例如:
p = subprocess.Popen(['external_program', 'arg1', 'arg2'])
# Process is now running in the background, do other stuff...
...
# Check if process has completed
if p.poll() is not None:
...
...
# Wait for process to complete
p.wait()
标签:background-process,python 来源: https://codeday.me/bug/20191030/1970681.html