top
실행 중인 프로세스를 표시하는 명령이 있습니다 . 필드에 있는 고유 값의 정렬된 목록을 인쇄하고 싶습니다 COMMAND
. 이 작업에 대한 솔루션이 있습니다.
$ top -b -n 1 | tail -n+8 | awk '{print $12}' | cut -d'/' -f 1 | sort | uniq
그러나 이 명령은 이러한 단순한 목적에 비해 너무 장황합니다. 이 작업에 대한 더 쉬운 솔루션이 있습니까?
첨부된:ps
대신 사용할 수 있지만 top
반환되는 형식이 너무 시끄럽습니다. chrome
vs /opt/google/chrome/chrome --type=renderer --enable- features=LinuxObsoleteSystemIsEndOfTheLine<LinuxObsoleteSystemIsEndOfTheLine --lang=en-US --force-
... 명령의 시작 부분에 불과합니다.
답변1
이 내용을 주의 깊게 읽어 보시기 바랍니다 ps
.
이것은 흥미로운 시작일 수 있습니다.
ps -eo comm=,
또는
ps -eo cmd=,
당신은 아마도 첫 번째 것을 원할 것입니다.
아주 세밀하게 제어하려면 모든 숫자가 표시되는 : 행을 읽 거나 Name
대괄호 /proc/nnnnnn/status
사이의 문자열을 구문 분석하세요 . 완전한 명령줄의 경우 파일의 NUL 바이트를 읽고 공백 문자로 변환합니다.stat
nnnnn
/proc/nnnnnn/cmdline
ps
BSD(이 생태계의 일부로 제공됨)는 Linux 버전(procps-ng 프로젝트에서 Linux에 제공됨)과 약간 다르며 옵션은 둘 사이에서 약간 다르게 해석됩니다 . *BSD를 사용해 본 적이 있다면 주목할 가치가 있습니다.