"Ps -ef PID 정확히 grep하기"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 26개는 보이지 않습니다)
4번째 줄: 4번째 줄:
;ps -ef PID 정확히 grep하기
;ps -ef PID 정확히 grep하기
*grep 10을 하면 10X, 10XX, 10XXX 들도 같이 보인다.
*grep 10을 하면 10X, 10XX, 10XXX 들도 같이 보인다.
*정확히 10인 것만 나오도록 해보자
*정확히 10인 것만 나오도록 해보자.
*여기서는 10 이후가 공백인 것을 찾느다.
*여기서는 10 이후가 공백인 것을 찾는다.


==방법 1: grep==
==방법 1: ps ★==
*습관적으로 사용하는 -ef 옵션 중 -e 옵션은 전체조회이다...
*-e 옵션 없이 -f 옵션만 쓰고 뒤에 PID를 기입하면 해당 프로세스만 조회할 수 있다.
<source lang='bash'>
ps -f 프로세스아이디
</source>
<source lang='console'>
[root@zetawiki ~]# ps -f 1704
UID        PID  PPID  C STIME TTY      STAT  TIME CMD
root      1704    1  0 18:39 ?        Sl    0:00 /sbin/rsyslogd -i /
</source>
 
==방법 2: grep==
*그래도 -ef 옵션을 사용하고자 한다면...<ref>왜 그래야 하는지는 모르겠으나 ㅎ</ref>
<source lang='bash'>
<source lang='bash'>
ps -ef | grep '^\w\+\s\+프로세스아이디\s'
ps -ef | grep '^\w\+\s\+프로세스아이디\s'
</source>
</source>
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# ps -ef | grep '^\w\+\s\+10\s'
[root@zetawiki ~]# ps -ef | grep '^\w\+\s\+1707\s'
root       10     2 0 06:00 ?        00:00:00 [watchdog/1]
root     1707     1 0 Mar11 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c
</source>
</source>


==방법 2: awk==
==방법 3: awk==
*grep 대신 awk를 써보면...
<source lang='bash'>
<source lang='bash'>
ps -ef | awk '$2 ~ /^프로세스아이디$/ {print}'
ps -ef | awk '$2 ~ /^프로세스아이디$/ {print}'
</source>
</source>
<source lang='dos'>
<source lang='console'>
[root@jmnote ~]# ps -ef | grep '^\w\+\s\+10\s'
[root@zetawiki ~]# ps -ef | awk '$2 ~ /^1707$/ {print}'
root       10     2 0 06:00 ?        00:00:00 [watchdog/1]
root     1707     1 0 Mar11 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c
</source>
</source>


==같이 보기==
==같이 보기==
*[[PID로 프로세스 이름 알아내기]]
*[[PID로 프로세스 이름 알아내기]]
*[[PPID로 자식 프로세스 목록 보기]]
*[[ps -ef]]
*[[ps -ef]]
*[[grep]]
*[[grep]]
*[[awk]]
*[[awk]]


[[분류: 프로세스]]
==참고==
 
[[분류: 리눅스 프로세스]]

2019년 3월 11일 (월) 08:25 기준 최신판

1 개요[ | ]

grep 정확히 하기
ps -ef PID 정확히 grep하기
  • grep 10을 하면 10X, 10XX, 10XXX 들도 같이 보인다.
  • 정확히 10인 것만 나오도록 해보자.
  • 여기서는 10 이후가 공백인 것을 찾는다.

2 방법 1: ps ★[ | ]

  • 습관적으로 사용하는 -ef 옵션 중 -e 옵션은 전체조회이다...
  • -e 옵션 없이 -f 옵션만 쓰고 뒤에 PID를 기입하면 해당 프로세스만 조회할 수 있다.
ps -f 프로세스아이디
[root@zetawiki ~]# ps -f 1704
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
root      1704     1  0 18:39 ?        Sl     0:00 /sbin/rsyslogd -i /

3 방법 2: grep[ | ]

  • 그래도 -ef 옵션을 사용하고자 한다면...[1]
ps -ef | grep '^\w\+\s\+프로세스아이디\s'
[root@zetawiki ~]# ps -ef | grep '^\w\+\s\+1707\s'
root      1707     1  0 Mar11 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c

4 방법 3: awk[ | ]

  • grep 대신 awk를 써보면...
ps -ef | awk '$2 ~ /^프로세스아이디$/ {print}'
[root@zetawiki ~]# ps -ef | awk '$2 ~ /^1707$/ {print}'
root      1707     1  0 Mar11 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c

5 같이 보기[ | ]

6 참고[ | ]

  1. 왜 그래야 하는지는 모르겠으나 ㅎ
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}