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,大家可以即兴发挥。