gpt4 book ai didi

python - 无法通过 python paramiko 获取远程服务器上的 cpu 利用率

转载 作者:行者123 更新时间:2023-12-01 08:23:19 25 4
gpt4 key购买 nike

我正在尝试使用 python paramiko 获取远程服务器上的 CPU 利用率。

import paramiko
from socket import error as socket_error
import os
try:
ssh_remote =paramiko.SSHClient()
ssh_remote.set_missing_host_key_policy(paramiko.AutoAddPolicy())
privatekeyfile = os.path.expanduser('~/.ssh/id')
mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile, password='test123')
ssh_remote.connect('10.10.0.1', username = 'test1', pkey = mykey)
idin, idout, iderr = ssh_remote.exec_command("ps aux | grep -i 'test' | grep -v grep | awk '{print $2}'")
id_out = idout.read().decode().splitlines()
id_out_1 = id_out[0]
rein, reout, reerr = ssh_remote.exec_command("ps -p %s -o %s" %(id_out_1 ,'cpu'))
cp = reout.read().decode().splitlines()
print cp
except paramiko.SSHException as sshException:
print "Unable to establish SSH connection:{0}".format(hostname)
except socket_error as socket_err:
print "Unable to connect connection refused"

接收以下输出

[u'CPU', u'  -']

代替

[u'%CPU', u'0.1']

不知道这里出了什么问题。请帮忙解决这个问题。

最佳答案

您需要 %cpu 而不是 cpu,因此您需要更改:

rein, reout, reerr = ssh_remote.exec_command("ps -p %s -o %s" %(id_out_1 ,'cpu'))

rein, reout, reerr = ssh_remote.exec_command("ps -p %s -o %s" %(id_out_1 ,'%cpu'))

这将为您提供 CPU 使用率的百分比。

关于python - 无法通过 python paramiko 获取远程服务器上的 cpu 利用率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54474323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com