我无法在某个盒子上安装任何模块,因此 - 我无法使用psutil
。
需要通过给定的PID来获得CPU使用率的百分比。
我看到的一个解决方案 - 使用subprocess
,但看起来非常糟糕:
# CPU usage
cpu_percentage = subprocess.call("top -p 25393 -b -n 1 | grep -w java | awk '{print $9}'", shell=True, stdout=devnull)
print('\nCPU percentage usage by Java: %s%%' % cpu_percentage)
另外,这样 - 我无法找到如何直接传递变量,而不是直接传递PID
(在此示例中为25393)。
答案 0 :(得分:1)
要将变量传递给字符串,您可以像在第3行上那样对其进行格式化:
# CPU usage
# +Apply here:
cpu_percentage = subprocess.call("top -p %d -b -n 1 | grep -w java | awk '{print $9}'" % PID, shell=True, stdout=devnull)
# +like you did here:
print('\nCPU percentage usage by Java: %s%%' % cpu_percentage)
PID
应该是int
实例,以便让这项工作