Process
哪個使用者執行的程序最多?
我的
top
樣子是這樣的:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6524 asjzdiwq 30 10 500m 41m 24m S 0.0 0.3 0:15.27 php-cgi 21274 asjzdiwq 30 10 500m 41m 24m S 0.0 0.3 0:04.97 php-cgi 9047 asjzdiwq 30 10 500m 40m 24m S 0.0 0.3 0:13.72 php-cgi 26918 asjzdiwq 30 10 499m 40m 24m S 0.0 0.3 0:12.87 php-cgi 13168 ahfvw0d1 30 10 498m 35m 20m S 0.0 0.2 0:03.49 php-cgi 8859 realnoni 30 10 495m 33m 20m S 0.0 0.2 0:11.27 php-cgi 6590 asjzdiwq 30 10 495m 32m 20m S 0.0 0.2 0:13.34 php-cgi 5657 holeyrai 30 10 495m 31m 19m S 0.0 0.2 0:04.47 php-cgi 14480 ripplecr 30 10 498m 31m 17m S 0.0 0.2 0:02.90 php-cgi 14442 ripplecr 30 10 497m 31m 17m S 0.0 0.2 0:02.00 php-cgi 10720 computer 30 10 496m 31m 18m S 0.0 0.2 0:08.75 php-cgi 23821 loghome 30 10 496m 31m 18m S 0.0 0.2 0:02.22 php-cgi 17623 devilsti 30 10 495m 31m 19m S 0.0 0.2 0:05.81 php-cgi 13305 realnoni 30 10 495m 30m 18m S 0.0 0.2 0:06.29 php-cgi 14461 ripplecr 30 10 496m 30m 17m S 0.0 0.2 0:01.47 php-cgi 8738 holeyrai 30 10 495m 30m 18m S 0.0 0.2 0:03.37 php-cgi 17569 devilsti 30 10 495m 30m 18m S 0.0 0.2 0:05.73 php-cgi 13174 ahfvw0d1 30 10 484m 30m 18m S 0.0 0.2 0:04.00 php-cgi 16126 realnoni 30 10 484m 30m 18m S 0.0 0.2 0:12.08 php-cgi 31561 a0w4pkbp 30 10 496m 30m 17m S 0.0 0.2 0:03.54 php-cgi 31565 ahfvw0d1 30 10 484m 29m 17m S 0.0 0.2 0:05.80 php-cgi 21275 asjzdiwq 30 10 484m 29m 18m S 0.0 0.2 0:01.77 php-cgi
您可以看到同一個“USER”可以有多個“COMMAND”作為“php-cgi”執行。我想找出哪個使用者執行的程序最多,併計算他們正在執行的程序數。
計算每個使用者的所有程序:
ps -eo user|sort|uniq -c|sort -n
或者只讓那些執行 php-cgi 的:
ps -eo user:15,cmd|sed -n '/php-cgi/s/ .*//p'|sort|uniq -c|sort -n
使用
ps
. 來自man ps
:-U userlist
按真實使用者 ID (RUID) 或名稱選擇。它選擇真實使用者名或 ID 在使用者列表中的程序。真實使用者 ID 標識創建程序的使用者,請參閱 getuid(2)。
-u userlist
按有效使用者 ID (EUID) 或名稱選擇。這將選擇其有效使用者名或 ID 在使用者列表中的程序。有效使用者 ID 描述了程序使用其文件訪問權限的使用者(請參閱 geteuid(2))。與 U 和 –user 相同。
因此,例如要查看 user 的所有程序
asjzdiwq
,您可以使用:ps -u asjzdiwq ## Using RUID ps -U asjzdiwq ## Using EUID