这是我发布的here已解决帖子的扩展名。我有python script
,其中包含以下jar
执行代码(以及其他一些代码):
python_file2.py
import os
cmd_txt = "ssh -i pem_file.pem user@" + host_name + " 'cd /user/folder1/ && java -cp jar-file.jar'"
os.system(cmd_txt)
现在这个python script
文件(python_file2.py)被另一个subprocess
称为python script
。
Main_script.py
ret = subprocess.Popen([sys.executable,"python_file2.py"])
当我运行此 Main_script.py 时,来自jar
的{{1}}文件的执行似乎被绞死了。当我单独运行第一个脚本时它工作正常,但当我尝试以python_file2.py
执行它时,subprocess
执行挂起并超时。
从jar
脚本中执行此jar
执行被挂起的原因可能是什么?我想要的是运行一个jar文件,该文件存在于远程机器上的python脚本中,该脚本以subprocess
运行。
答案 0 :(得分:0)
使用subprocess.call
代替subprocess.Popen
:
ret = subprocess.call([sys.executable,"python_file2.py"])
assert not ret, ret