生产中我们经常需要通过进程名或pid来查看进程的相关信息,比如端口号,运行用户,运行时间,cpu内存使用率,启动命令等。下面这条简单的命令即可实现,如果再配合atext使用会很方便。直接看效果吧。
命令如下:
psid() { echo;[[ ! -n ${1} ]] && return;pro="[${1:0:1}]${1:1}";ps axo pid,lstart,etime,user,%cpu,%mem,command | grep -v grep |grep -I --color ${pro};echo;for I in `ps axu|grep ${pro} |grep -v grep |awk '{print $2}'`;do netstat -tunpl|grep $I|awk '{print " "'"$I"'" -> "$6"("$1")"" -> "$4}';echo;done;};psid [program_name/pid] # 稍微加强了一下,加了个for循环,可以同时查看多个进程的信息了 psid() { for i in "$@";do pro="$i";echo;ps axo pid,lstart,etime,user,%cpu,%mem,command | grep -v grep |grep -I --color -w ${pro};echo;for I in `ps axu|grep -w ${pro} |grep -v grep |awk '{print $2}'`;do netstat -tunpl|grep $I|awk '{print " "'"$I"'" -> "$6"("$1")"" -> "$4}';echo;done;done;}; psid [process_name1 xxx2 xxx3 or pid1 pid2 ...]