我在 Solaris 上运行命令“prstat -v”,但它显示的进程名称非常短,如下所示:(参见 PROCESS/NLWP 下的最后一列值)。prstat 中的哪个选项可以给我正在运行的完整进程名称?
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/NLWP
2709 root 0.0 0.0 0.0 0.0 0.0 0.0 100 0.0 0 0 0 0 sshd/1
2624 root 0.0 0.0 0.0 0.0 0.0 50 50 0.0 0 0 0 0 in.rarpd/3
2648 root 0.0 0.0 0.0 0.0 0.0 0.0 100 0.0 0 0 0 0 sendmail/1
24429 root 0.0 0.0 0.0 0.0 0.0 98 2.5 0.0 1 0 1 0 java/807
答案1
您必须依靠其他实用程序来获取完整的进程名称。
例如:
$ pargs -l $$
/usr/bin/bash
答案2
我看不出有任何方法可以做到这一点。
答案3
prstat
单独使用并不能满足您的需求。但是,如果您使用ps
,awk
通常可以满足您的需求。例如,要检查每个进程的 RSS 值,我使用命令
ps -ef -o rss -o args | awk '{ hr=$1/1024 ; printf("%13.6f Mb ",hr) } { for ( x=2 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }' | sort -n -r
答案4
另一个选择是将“ww”参数与 bsd ps 一起使用:
# /usr/ucb/ps -aguxww
root 1177 0.0 0.0 0 0 ? S Dec 13 0:00 zsched
root 1189 0.0 0.1 1868 1260 ? S Dec 13 0:00 /sbin/init
root 1208 0.0 0.211072 9144 ? S Dec 13 0:04 /lib/svc/bin/svc.startd
root 1239 0.0 0.21308811908 ? S Dec 13 0:18 /lib/svc/bin/svc.configd
root 1326 0.0 0.0 1592 852 ? S Dec 13 0:00 /sbin/sh /lib/svc/method/svc-dlmgmtd
root 1538 0.0 0.1 6972 4216 ? S Dec 13 0:30 /usr/sbin/nscd
root 1886 0.0 0.1 1956 1248 ? S Dec 13 0:00 /usr/sbin/cron
root 2045 0.0 0.1 2296 1312 ? S Dec 13 0:00 /usr/lib/saf/sac -t 300
root 2082 0.0 0.1 2476 1408 ? S Dec 13 0:00 /usr/lib/saf/ttymon
root 2118 0.0 0.1 3824 1764 ? S Dec 13 0:03 /usr/sbin/syslogd
root 2119 0.0 0.0 1572 844 ? S Dec 13 0:00 /usr/lib/utmpd
root 2132 0.0 0.1 6112 3468 ? S Dec 13 0:39 /usr/lib/inet/inetd start
root 2222 0.0 0.1 1872 1304 console S Dec 13 0:00 /usr/lib/saf/ttymon -g -d /dev/console -l console -m ldterm,ttcompat -h -p mail
root 2257 0.0 0.1 4124 1788 ? S Dec 13 0:00 /usr/lib/ssh/sshd
root 2489 0.0 0.1 2280 1324 ? S Dec 13 0:00 /usr/sadm/lib/smc/bin/smcboot
root 2491 0.0 0.0 2280 980 ? S Dec 13 0:00 /usr/sadm/lib/smc/bin/smcboot
root 2539 0.0 0.0 2280 976 ? S Dec 13 0:00 /usr/sadm/lib/smc/bin/smcboot
root 2854 0.0 0.1 5936 2620 ? S Dec 13 0:07 /usr/lib/sendmail -bl -q15m
root 3277 0.0 0.1 7784 2096 ? S Dec 13 0:00 /usr/dt/bin/dtlogin -daemon -udpPort 0
root 13216 0.0 0.1 6944 4188 ? S Dec 15 0:00 /usr/lib/ssh/sshd
root 13245 0.0 0.1 6944 4188 ? S Dec 15 0:00 /usr/lib/ssh/sshd
root 27680 0.0 0.0 1504 892 ? S 12:35:21 0:00 sleep 3600
root 28311 0.0 0.1 6944 4220 ? S 12:59:01 0:00 /usr/lib/ssh/sshd
#