繁体   English   中英

调用子流程后,Python脚本未继续

[英]Python script not continuing after calling subprocess

我有一个python脚本通过subprocess模块调用java文件:

import subprocess
java_cmd = ['java', '-cp', 'bin/stuff/:lib/asm-all-3.3.jar:lib/jdom.jar',
      'ch.idsia.scenarios.Main']
subprocess.call(java_cmd, shell=False)
print "Hello world"

这可以正常工作,然后Java文件等待python脚本继续运行并连接套接字,如我所愿。 但是python脚本不会继续。 为什么不? 我知道不是因为print语句从不执行。

当我从Eclipse手动运行java文件,然后从命令行执行python脚本时,一切都会按预期运行。 我还尝试了subprocess.Popen()而不是subprocess.call() ,结果没有差异。

谢谢@KSFT; 直到命令完成, subprocess.call()才返回,但是subprocess.Popen()会返回。 所以我先用subprocess.Popen()然后再用time.sleep(0.5)进行了调用。 让python脚本等待0.5秒可以使java文件有足够的时间打开和初始化套接字连接。

subprocess.call()直到其运行的命令完成才返回。 您可以使用多线程同时运行其他内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM