특정 프로세스가 실행되어있는가 확인하기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,799 조회
- 0 추천
- 목록
본문
특정 프로세스가 실행되어있는가 확인하기
특정 프로세스의 실행상태를 정확하게 확인하고자 한다면 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가 아닐까 합니다.
그렇다고 해서 결코 가볍게 생각해도 되는 명령어는 아닙니다.
사용법을 정확하게 익혀서 시스템관리에 큰 도움이 되기를 바랍니다.
관련자료
-
이전
-
다음