最も多くのプロセスを実行しているユーザーは誰ですか?

最も多くのプロセスを実行しているユーザーは誰ですか?

私の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」が「php-cgi」で実行される複数の「COMMAND」を持つことができることがわかります。どのユーザーが最も多くのプロセスを実行しているかを確認し、それらが実行されているプロセスの数を計算したいと思います。

答え1

ユーザーごとのすべてのプロセスを計算するには:

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

答え2

使用ps。からman ps

-U userlistは、
実際のユーザーID(RUID)または名前で選択します。実際のユーザー名またはIDがユーザーリストのリストにあるプロセスを選択します。実際のユーザーIDは、プロセスを作成したユーザーを識別します。 getuid(2) をご覧ください。

-u userlistは、
有効なユーザーID(EUID)または名前に基づいて選択します。これにより、ユーザーリストから有効なユーザー名またはIDを持つプロセスが選択されます。有効なユーザーIDは、プロセスが使用するファイルアクセス権を持つユーザーを示します(geteuid(2)を参照)。 Uと--userと同じです。

たとえば、ユーザーのすべてのプロセスを表示するには、次のようにしますasjzdiwq

ps -u asjzdiwq  ## Using RUID
ps -U asjzdiwq  ## Using EUID

関連情報