top显示特定进程名的信息

top是一个动态显示的比较成功的命名,平时linux查看用户状态,经常用到。

top提供-p参数显示特定的进程号的进程状态。

想直接用进程名,可以使用ps查,但是寻找进程号相对有点麻烦,可以使用pidof来替换,命令如下:

pidof <你的进程名字> |awk '{for(i=1;i<=NF;i++){ printf $i; if(i!=NF) printf ",";}}' |xargs terminator -x top -p

小讲一下原理:

整个命令分为三段

pidof <你的进程名字>  # 这里输入你的程序名字,当然也可以直接做成一个shell脚本,然后用 " demo.sh 程序名字 " 的方式调用更加优秀
awk '{for(i=1;i<=NF;i++){ printf $i; if(i!=NF) printf ",";}}' #这个就是个awk命令,
															#其中输出使用print的话会换行,使用printf就不会换行
															#感觉它的脚本很像c语言,妙不可言,自行体会。 
xargs terminator -x top -p # 启动top命令

最后一个子命令我认为也是一个难点,由于直接用 "xagrs top -p"会报错:top: failed tty get

我看到很多网友说这个是在后台运行的原因,可以加一个-b参数,加-b后就不会动态刷新了,就是死板的输出,没有了top本身的美感,让人头疼。

没有找到终端。 于是想到用终端启动命令,我这里用的terminator,大家可以即兴发挥。


版权声明:本文为u012939880原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。