以下小脚本应该每 10 分钟运行一次带有参数的 shell 命令。它曾经正确运行过一次(30 分钟前),但现在没有打球(应该再执行 2 次该过程)。我犯了错误吗?
而(真): subprocess.call(["command","param"]) 时间.sleep(600)
以下小脚本应该每 10 分钟运行一次带有参数的 shell 命令。它曾经正确运行过一次(30 分钟前),但现在没有打球(应该再执行 2 次该过程)。我犯了错误吗?
而(真): subprocess.call(["command","param"]) 时间.sleep(600)
无论您的命令是什么,您的 subprocess.call 都可能被阻止。我怀疑它是您的 python 脚本,而是无论 shell 命令可能是什么(花费太长时间)。
您可以通过检查返回码来判断您的命令是否完成:
print subprocess.call(["command","param"])
如果成功,它应该打印0
,或者如果命令有问题,则引发异常。但是如果你从来没有看到连续的打印,那么它就永远不会从调用中返回。
如果您不需要等待命令完成,请尝试 subprocess.Popen。
从文档中,
subprocess.call:运行args描述的命令。等待命令完成,然后返回 returncode 属性。