【发布时间】:2009-05-28 22:48:17
【问题描述】:
为了测试目的,我正在开发一个脚本,该脚本会反复运行与其他脚本一起运行的程序。
它目前的工作方式是我有一个我启动的 Python 脚本。该脚本调用程序并加载其他脚本。它会在 60 秒后终止程序,以便使用下一个脚本再次启动程序。
对于某些脚本,60 秒太长了,所以我想知道是否可以设置一个 FLAG 变量(不在主脚本中),这样当脚本完成时,它会设置 FLAG,所以主脚本和读取FLAG并终止进程?
感谢您的帮助,我的文字可能令人困惑,所以如果您不能完全理解,请告诉我。
【问题讨论】:
-
为什么不将它们作为子进程启动并使用 subprocess.Popen 的 wait() 方法等待它们完成?
-
那行不通,因为该过程永远不会完成。我的脚本执行此操作(伪代码)./Program.exe /home/user/Desktop/Script1.py 所以 Script1.py 最终完成,但 Program.exe 从未真正完成......所以 subprocess.Popen wait() 不会我觉得不行。
-
让我直说。 mainscript.py 执行 program.exe,然后启动 script1.py。 program.exe 不会结束,但 script1.py 最终会结束。您正在寻找一种方法来检测 script1.py 何时结束? script1.py 是否每次都正常结束或有时会出错?
-
所以基本上,从script1.py一直到script50.py都有。每个都是不同的,它们可能会崩溃,所以如果进程停止,我还需要一种方法来终止进程(但这是一个不同的问题)。
标签: python windows testing environment-variables