ps
출력을 조금 더 잘 처리 할 수도 있습니다 .
ps --width ${n:-$COLUMNS} ${opts} #set ps terminal width
ps -ww ${opts} #no word wrap
ps -o ${only_interesting_output} ${opts} #trim output
그것은 말할 것이다 ps
필요에 따라 사양에 출력을 구문 분석 할 수 있습니다.
물론, 줄 바꿈을하지 않으면 정보가 누락되는 문제가 있습니다. 모든 프로세스에 실제로 모든 것이 필요합니까? 그렇다면 호출기에서 엽니 다.
ps ww ${opts} | $PAGER
그렇지 않은 경우보고 싶은 것을 지정하십시오.
ps -o args= -p $pid
또는 ps
터미널을 명시 적으로 알릴 수 있습니다 --width
.
man ps
...
w
넓은 출력. 폭이 무제한 인 경우이 옵션을 두 번 사용하십시오.
-w
넓은 출력. 폭이 무제한 인 경우이 옵션을 두 번 사용하십시오.
--width n
화면 너비를 설정하십시오.
--width
것은 추가 필터 나 보조 프로세스를 수반하지 않고도 요구 사양을 정확히 작동 (가능성 만 어수선 할 -aux
더 많은 출력). 그리고 함께 $COLUMNS
위 그것을 밖으로 스테판 점으로 같이도 동적으로 작동합니다.
그러나 사람들이 종종 이러한 종류의 불필요한 필터를 추가하려고 시도하므로 다른 필터를 |pipe
통해 출력을 구문 분석하여 불필요 할 가능성이 높은 것을 알 수 있습니다. 물론 사람들 은 주로 저를 의미 합니다.
-o
utput은 내가 위에서 언급 열을 필터로 할 수 있습니다 피연산자 ps
를 표시하고, 당신이 추가 할 때 =
의 할당은 당신도 당신과 같이 열을하시기 바랍니다 이름을 지정할 수 있습니다. 할당을 비워두고 대상 -p
rocess를 전달 $pid
하므로 명령 출력 과 호출 ps
시 의 유일한 출력 만 있습니다. 그리고 표시하거나 표시하지 않을 내용 을 정의하는 방법의 표면을 거의 긁지 않습니다. 이것이 내가 특히 추천하는 방향입니다 :$pid
args
-o
ps
man ps
...
BSD 구문을 사용하여 시스템의 모든 프로세스를 보려면 :
ps ax
ps axu
프로세스 트리를 인쇄하려면
ps -ejH
ps axjf
스레드에 대한 정보를 얻으려면
ps -eLf
ps axms
보안 정보를 얻으려면 :
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
사용자 형식으로 루트 (실제 및 유효 ID)로 실행중인 모든 프로세스를 보려면 :
ps -U root -u root u
사용자 정의 형식의 모든 프로세스를 보려면
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
syslogd의 프로세스 ID 만 인쇄하십시오.
ps -C syslogd -o pid=
PID 42의 이름 만 인쇄하십시오.
ps -p 42 -o comm=