为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2021-10-26 17:01:50
我正在尝试使用 python paramiko 获取远程服务器上的 CPU 利用率。import paramikofrom socket import error as socket_errorimport 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 cpexcept 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']不知道这里有什么问题。请帮忙解决这个问题。
查看完整描述

1 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

你需要%cpunotcpu所以你需要改变:

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 使用率的百分比。


查看完整回答
反对 回复 2021-10-26
  • 1 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号