![ps aux 명령의 사용자당 프로세스 수](https://linux55.com/image/71884/ps%20aux%20%EB%AA%85%EB%A0%B9%EC%9D%98%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%8B%B9%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EC%88%98.png)
각 사용자가 실행하는 프로세스를 계산하는 스크립트를 어떻게 만들 수 있습니까 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]}'