Python用params循环调用shell命令

时间:2012-04-26 16:24:19

标签: python shell loops subprocess

以下小脚本应该每10分钟运行一个带参数的shell命令。它运行正常一次(30分钟前)然而现在不打球(应该已经完成​​了另外2次的过程)。我犯了错误吗?

while(True):
  subprocess.call(["command","param"])
  time.sleep(600)

2 个答案:

答案 0 :(得分:2)

你subprocess.call可能阻止了你的命令。我怀疑它是你的python脚本,而不管shell命令可能是什么(花了太长时间)。

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

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

如果成功则应打印0,如果命令有问题则应引发异常。但如果你从未看过连续的印刷品,那么它永远不会从电话中回来。

答案 1 :(得分:1)

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

来自文档,

  

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