강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

특정 프로세스가 실행되어있는가 확인하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

특정 프로세스가 실행되어있는가 확인하기




 

특정 프로세스의 실행상태를 정확하게 확인하고자 한다면 ps명령어에서 필요한 프로세스명을 지정하여 그에 해당하는 프로세스만을 확인하시면 됩니다. 

 

 

 

 

 

사용형식 : ps -ef | grep  확인하고자하는프로세스명

 

, 특정 프로세스가 현재 실행중인가를 확인하고자 한다면 위의 형식을 사용하시면 됩니다. 

 

 

 

 

다음 예는 모든 프로세스들 중에서 tty에 관련된 프로세스만을 확인하는 예입니다. 

 

 

 

  "ps -ef"의 결과로 모든 프로세스들의 전체 경로를 표시하며 이 결과를 다시 "|"로 연결하여 "grep tty"의 결과 tty에 관련된 프로세스만을 표시해 줍니다. 

 

 

 

 

 

간단히 정리하면 아래 명령어의 결과는 "모든 프로세스들 중에서 tty"에 관련된 프로세스만을 표시해 준다는 의미입니다. 

 

 

 

 

 

[root@su250 ~]# ps -ef | grep tty

root      1981     1  0 Dec18 tty4     00:00:00 /sbin/mingetty tty4

root      1982     1  0 Dec18 tty5     00:00:00 /sbin/mingetty tty5

root      1984     1  0 Dec18 tty2     00:00:00 /sbin/mingetty tty2

root      1986     1  0 Dec18 tty3     00:00:00 /sbin/mingetty tty3

root      1988     1  0 Dec18 tty1     00:00:00 /sbin/mingetty tty1

root      1990     1  0 Dec18 tty6     00:00:00 /sbin/mingetty tty6

root      2257  2029  1 00:11 pts/0    00:00:00 grep tty

[root@su250 ~]#

 

참고로 다음 명령의 결과는 현재 리눅스에서 실행되고 있는 모든 프로세스들 중에서 ssh에 관련된 프로세스만을 표시해 줍니다. 

 

 

 

 

 

[root@su250 ~]# ps -ef | grep ssh

root      1853     1  0 Dec18 ?        00:00:00 /usr/sbin/sshd

root      2025  1853  0 Dec18 ?        00:00:00 sshd: root@pts/0

root      2259  2029  0 00:12 pts/0    00:00:00 grep ssh

[root@su250 ~]#


위의 두 결과를 보면 다음과 같은 결론을 얻을 수 있습니다. 

 

 

 

  , 특정 프로세스만을 확인하고자 할 때에는 "ps -ef | grep 프로세스명"과 같이 하면 된다는 것을 알 수 있습니다. 

 

 

 

 


다음과 같이 실무에서 많이 사용하는 응용 예를 들어 보겠습니다. 

 

 

 

  httpd에 관련된 프로세스를 확인하고자 할 때에는 다음과 같이 실행합니다. 

 

 

 

 

 

[root@su250 ~]# ps -ef | grep httpd

root      2241     1  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2243  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2244  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2245  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2246  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2247  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2248  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2249  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

apache    2250  2241  0 00:06 ?        00:00:00 /usr/sbin/httpd

root      2261  2029  0 00:12 pts/0    00:00:00 grep httpd

[root@su250 ~]#


그리고 여기서 조금 응용하면 httpd의 프로세스 개수가 몇 개나 되는가를 확인하려면 다음과 같이 하십시오. 아래의 예에서 httpd이름으로 실행되어 있는 프로세스가 모두 10개임을 알 수 있습니다. 

 

 

 

 

 

[root@su250 ~]# ps -ef | grep httpd | wc -l

10

[root@su250 ~]#

 
마찬가지로 mysqld에 대한 프로세스도 httpd와 동일하게 하면 됩니다. 

 

 

 

 , mysqld에 관련된 프로세스를 확인하려면 다음과 같이 하십시오.

 

[root@su250 ~]# ps -ef | grep mysqld


그리고 mysqld의 프로세스가 몇 개나 되는가를 확인하려면 다음과 같이 하십시오.

 

[root@su250 ~]# ps -ef | grep mysqld | wc -l

 
이상과 같이 ps는 현재 서버내의 모든 프로세스들을 대상으로 그 상태를 확인할 수 있는 명령어입니다. 

 

 

 

 

 

이상과 같이 ps의 명령어사용법에 대해서 알아 보았습니다. 

 

 

 

 아마도 리눅스의 모든 명령어들 가운데 매우 중요하면서도 사용하기 간편한 명령어가 ps가 아닐까 합니다. 

 

 

 

 그렇다고 해서 결코 가볍게 생각해도 되는 명령어는 아닙니다. 

 

 

 

 사용법을 정확하게 익혀서 시스템관리에 큰 도움이 되기를 바랍니다. 

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  140 명