有没有办法检查一个子进程是否已经完成它的工作?我的 python 脚本从 cmd 执行 123.exe。 123.exe 然后做了一些事情,最后它把 1 或 0 写入一个 txt 文件。然后 Python 脚本读取 txt 文件,如果为“1”则继续作业,如果为“0”则停止。目前我能想到的就是让 python 脚本休眠一分钟。这样 123.exe 肯定会向 txt 文件中写入 1 或 0。这种认识很简单,但同时也很愚蠢。
所以我的问题是,有没有办法在不需要超时的情况下处理这个问题?一种让 python 脚本等待 123.exe 停止的方法?
最佳答案
使用:
retcode = subprocess.call(["123.exe"])
这将执行命令,等待它完成,然后将其返回代码放入 retcode
(这样您还可以避免检查输出状态文件,如果命令返回正确的返回码)。
如果你需要手动实例化subprocess.Popen
,那么就去
Popen.wait()
(然后检查 Popen.returncode
)。
关于Python 脚本执行另一个脚本并在第二个脚本完成其工作后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6774809/