Bash에서 특정 사용자에 대한 상위 5개 프로세스를 얻으려고 합니다.
ps -Ao user,uid,comm,pid,pcpu,tty --sort=-pcpu | head -n 6 | grep <username>
그러나 이는 시스템에서 상위 5개 프로세스를 선택한 다음 지정된 사용자 이름에 속하는 프로세스를 필터링합니다. 나는 기본적으로 논리를 뒤집고 싶습니다. 특정 사용자에 대한 모든 프로세스를 가져온 다음 상위 5개를 필터링합니다.
답변1
파이프라인에서 명령은 head
해당 줄에 언급된 사용자 이름에 관계없이 출력의 처음 6줄을 에서 로 전달합니다. 및 호출을 바꾸는 것은 명령이 원하는 사용자 이름이 포함된 행만 볼 수 있음을 의미합니다. (사용하고 싶을 수도 있습니다).ps
grep
head
grep
head
ps
head -n 5
답변2
ps -u 사용자 이름
사용자 프로세스가 나열됩니다.
그에 따라 출력을 파이프하여 5개의 프로세스를 얻을 수 있습니다.