Python脚本在后台执行远程命令并获取pid

时间:2014-09-22 07:46:33

标签: python subprocess

我尝试过subprocess和sshpass来执行远程命令。这是我使用子进程执行远程命令的代码..

import subprocess
import sys

HOST="192.168.20.175"
COMMAND="cat /proc/meminfo | grep MemTotal"

ssh = subprocess.Popen(["sshpass", "-p", "unlock123",
                        "ssh", "%s" % HOST, COMMAND],
                        shell=False,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE)
result = ssh.stdout.readlines()

if result == []:
    error = ssh.stderr.readlines()
    print >>sys.stderr, "ERROR: %s" % error
else:
    print result

print "Return Code - %s" % ssh.returncode

然而,

  1. returncode返回无
  2. 现在我想在远程计算机上运行以下循环命令
  3. "echo"; while true; do ps -p 1820 -o %cpu,%mem | grep -v CPU >> /tmp/proc_out.log;

    1. 我想在远程计算机上启动该命令,并且不想等待命令完成。
    2. 触发命令后,获取命令的pid
    3. 根据需要在一段时间后终止该过程。
    4. 有没有可能的解决方案?

0 个答案:

没有答案
相关问题