我试图从顶部找到进程的cpu利用率。所以在此之前我必须测试下面的命令
top -b -c -d1 -n2
我使用-c选项打印完整的命令名称,因为进程名称在没有-c的情况下被截断 不,当我以 nohup sh test.sh& 运行时,输出nohup.out包含截断的进程名称,因此我无法对进程名称进行grep
159 neutron 30 0 127620 22765 5479 S 0.0 0.6 399:02.56 /usr/bin/p+t
但是当我把它作为sh test.sh&它将完整的命令名称打印到终端 尽管在批处理模式下使用-c进行top命令,为什么不打印完整的命令名?
命令名与启用-c和进程名之间的区别是什么?
或者用短语来表示进程名称和命令名称是不同的,并且通过ps或top等命令从/ proc / pid / status中选择进程名称?
答案 0 :(得分:1)
我们可以在top命令之前设置COLUMNS环境变量以增加可用宽度。
COLUMNS=1000 top -b -c -d1 -n2
另一种方法是使用ps按名称查找进程的pid并指定ps输出的格式。此输出可用于提供top以获取进程的cpu使用情况基于pid。
ps -eo pid,comms,args
comms =命令名称而不是args
args =用于启动进程的完整参数列表