Python 的 os.system() 会等待进程结束吗?
Python手册上并没有说明os.system("cmd")
是否会等待一个进程结束:
手册中是这么说的:
在一个子shell中执行命令(一个字符串)。
看起来它确实会等待(和Perl的system
表现一样)。这样说对吗?
3 个回答
3
在Mac上它会等待,但在Linux上就不会(使用的是Debian,python 3.7.3)。
通过使用subprocess解决了这个问题:
import subprocess
subprocess.run("cmd")
15
手册里没有明确说明,但它暗示了这个过程会等到结束,因为它提到返回值是程序的返回值。
所以,回答你的问题,是的,它确实会等待。
37
是的,确实如此。这个调用的返回值是子进程的退出代码。