使用选项和参数调用shell脚本并获取outpu

2024-10-02 06:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试调用一个带有选项和参数的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(['/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)])

Tags: importhomeoutputosdownloadscheck选项sh
1条回答
网友
1楼 · 发布于 2024-10-02 06:24:49

我在我的代码中使用了类似的东西来调用命令和bash脚本,其中cmd可以是“我的”_脚本.sh-“某物”。还要检查bash脚本是否有正确的权限;)(chmodu+x脚本.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}

相关问题 更多 >

    热门问题