0

以下小脚本应该每 10 分钟运行一次带有参数的 shell 命令。它曾经正确运行过一次(30 分钟前),但现在没有打球(应该再执行 2 次该过程)。我犯了错误吗?

而(真):
  subprocess.call(["command","param"])
  时间.sleep(600)
4

2 回答 2

2

无论您的命令是什么,您的 subprocess.call 都可能被阻止。我怀疑它是您的 python 脚本,而是无论 shell 命令可能是什么(花费太长时间)。

您可以通过检查返回码来判断您的命令是否完成:

print subprocess.call(["command","param"])

如果成功,它应该打印0,或者如果命令有问题,则引发异常。但是如果你从来没有看到连续的打印,那么它就永远不会从调用中返回。

于 2012-04-26T16:26:57.020 回答
1

如果您不需要等待命令完成,请尝试 subprocess.Popen。

从文档中,

subprocess.call:运行args描述的命令。等待命令完成,然后返回 returncode 属性。

于 2012-04-26T16:28:23.107 回答