특정 키워드와 일치하는 프로세스의 리소스 사용량을 모니터링하는 간단한 방법을 원합니다.
그래서 나는 다음과 같은 일을 했습니다:
ps -aux | grep XX | awk 'FNR == 2 {print $2}' | xargs -o -I {} top -p {}
( pgrep
저의 경우에는 작동하지 않습니다)
이를 통해 출력의 두 번째 줄의 PID를 가져 ps
와서 top
모니터링만 할 수 있도록 전달할 수 있습니다.하나이런 식으로 처리하세요.
그런데 검색어와 일치하는 행이 많고 top
.
따라서 이 awk
명령은 {print $2}
여러 줄을 출력하며 각 줄에는 1개의 PID가 있습니다.
나는 다음과 같은 것을 갖고 싶다top -p PID1 -p PID2 ...
top
이러한 모든 PID를 via xargs
(또는 다른 간단한 방법) 에 어떻게 전달할 수 있습니까 ?
답변1
나생각하다요청하신 내용은 다음과 같습니다.
ps -aux | awk 'BEGIN{printf "top "} /XX/{printf "-p %s ",$2}END{print ""}'|xargs -o -I {} bash -c "{}"