编程语言
首页 > 编程语言> > python调用外部程序的非阻塞方式

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