python - 从 paramiko 获取 PID

标签 python paramiko

我找不到一个简单的答案:我正在使用 paramiko 登录并远程执行多个进程,我需要每个进程的 PID,以便以后检查它们。 paramiko 中似乎没有获取已执行命令的 PID 的函数,因此我尝试使用以下方法:

stdin,stdout,stderr = ssh.exec_command('./someScript.sh &;echo $!;)

我认为然后通过标准输出进行解析会返回 PID,但事实并非如此。我假设我应该在后台运行脚本以获得 PID(在它运行时)。有没有更简单、更明显的获取 PID 的方法?

最佳答案

获取远程进程ID的方法如下:

def execute(channel, command):
    command = 'echo $$; exec ' + command
    stdin, stdout, stderr = channel.exec_command(command)
    pid = int(stdout.readline())
    return pid, stdin, stdout, stderr

关于python - 从 paramiko 获取 PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9872872/

相关文章:

ubuntu - 通过 python paramiko ssh session 执行 Wine 命令失败

python - 获取 "socket.error: [Errno 61] Connection refused"python paramiko

python - Paramiko 无法获得 grep 命令的输出

python - SSHLibrary 提示输入密码

python - 从 Python 列表中删除重复记录

Python subprocess.call 不等待进程完成 blender

python - 使用相机内在矩阵在 2D 图像上投影 3D 网格

python - 使用正则表达式拆分 URL

python - Bokeh Geoviews 使用 Lat/Long 还是 UTM?

python从第三台机器连接到mysql