【发布时间】:2017-02-12 20:42:25
【问题描述】:
我正在尝试在python中一个接一个地执行以下2个命令。
runmqsc <Queuem manager name>
Display QL (<queue name>)
我可以使用子进程执行 rumqsc 命令。
subprocess.call("runmqsc <queue manager name>", shell= True)
现在这个命令看起来像是从 python 中获取控制权。如果我尝试使用子进程执行下一个命令,它不会按预期工作。 我什至不确定如何执行第二个(为此我必须传递一个参数)。
添加代码sn-p:
subprocess.call("runmqsc Qmgrname", shell= True)
subprocess.call("DISPLAY QL(<quename>)",shell=True)
现在第一行执行良好,正如 tdelaney 在评论中提到的那样,runmqsc 等待来自标准输入的输入。并且在执行第一行之后程序挂起,甚至没有执行第二行。
任何帮助或对任何相关文档的引用都会有所帮助。 谢谢
【问题讨论】:
-
你能在命令行上这样做吗?
-
Runmqsc 从标准输入获取命令。如果您在运行程序时不将标准输入重定向到管道或手动键入命令,它将挂起并且调用不会返回。您能否发布一个小脚本来展示您如何执行该命令,以便我们提出修复建议?
-
@tdelaney:是的,我可以在命令行中运行命令(我的意思是不使用子进程)。我试图一个接一个地直接执行命令。请找到已编辑的问题(已使用代码 sn-p 更新问题)。谢谢
标签: python unix subprocess ibm-mq