ps aux 명령의 사용자당 프로세스 수

ps aux 명령의 사용자당 프로세스 수

각 사용자가 실행하는 프로세스를 계산하는 스크립트를 어떻게 만들 수 있습니까 ps aux? 나는 이것을 사용했다

ps aux  | awk '{print $1}' | grep root | wc -l

그러나 루트 사용자 수만 나열됩니다. 사용자당 프로세스 수를 나열하고 싶습니다. 다음과 같은 것이 필요합니다.

root    20
jamshi  15 

답변1

ps -fo user | sort | uniq -c시도해 볼 가치가 있습니다.

이 명령은 ps -eo user=|sort|uniq -c사용자별 프로세스 수를 나열합니다.

ps -eo user=|sort|uniq -c
      2 avahi
      1 kernoops
      1 messagebus
      1 nobody
    231 root
      1 statd
      5 steve
      1 syslog

읽기 위해 열 순서를 뒤집어야 하는 경우 파이프awk '{ print $2 " " $1 }'

답변2

당신은 시도 할 수 있습니다

ps aux |
awk 'NR>1{tot[$1]++;}
     END{for(id in tot)printf "%s %s\n",id,tot[id]}'

관련 정보