Python 使用选项和参数调用shell脚本并获取输出
我试图调用带有选项和参数的shell脚本,并获取输出。 它没有像预期的那样工作。请帮忙。 我对Python不是很熟悉Python 使用选项和参数调用shell脚本并获取输出,python,shell,Python,Shell,我试图调用带有选项和参数的shell脚本,并获取输出。 它没有像预期的那样工作。请帮忙。 我对Python不是很熟悉 import os import subprocess jpsop=os.popen("jps |grep Main|awk '{print $1}'").read() print jpsop #print jpsop.partition(' ')[2] for pid in jpsop.split(): print pid subprocess.Popen([
import os
import subprocess
jpsop=os.popen("jps |grep Main|awk '{print $1}'").read()
print jpsop
#print jpsop.partition(' ')[2]
for pid in jpsop.split():
print pid
subprocess.Popen(['/home/muthu/Downloads/check_jstat.sh', '-p' + pid])
print output
# os.system('/home/muthu/Downloads/check_jstat.sh')
我也试过,
output=subprocess.Popen(['/home/muthu/Downloads/check_jstat.sh', '-p', str(pid)])
我在代码中使用了类似的东西来调用命令和bash脚本,其中cmd可以是“my_script.sh-p sth”。还要检查bash脚本是否具有正确的权限;)(chmodu+xscript.sh)。我希望这样能有所帮助
def run_cmd(self,cmd):
"""
:param cmd: command to invoke
:return: status of command
"""
try:
result = subprocess.check_output(cmd, stderr=subprocess.STDOUT, universal_newlines=True, shell=True)
except subprocess.CalledProcessError as grepexc:
return {"status": "ERROR", "code" : grepexc.returncode, "output" : grepexc.output}
return {"status": "OK", "code": 0, "output" : result}
查看argparse、optpasse和getopt。