각 사용자가 실행하는 프로세스를 계산하는 스크립트를 어떻게 만들 수 있습니까 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]}'