Process

哪個使用者執行的程序最多?

  • January 19, 2019

我的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

引用自:https://unix.stackexchange.com/questions/234668