ps실무2편: 프로세스 확인하는 ps의 기본 활용법
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,767 조회
- 0 추천
- 목록
본문
ps실무2편: 프로세스 확인하는 ps의 기본 활용법
이제 실무에서 ps를 어떻게 사용하는가를 알아보자. 특정프로세스의 실행상태를 정확하게 확인하고자 한다면 ps명령어에서 필요한 프로세스명을 지정하여 그에 해당하는 프로세스만을 확인하면 된다.
거의 대부분 사용형식은 다음과 같다.
사용형식 : ps -ef | grep 확인하고자하는프로세스명
특정프로세스가 현재 실행중인가를 확인하고자 한다면 위의 형식을 사용하면 된다.
다음 예는 모든 프로세스들 중에서 tty에 관련된 프로세스만을 확인하는 예이다.
"ps -ef"의 결과로 모든 프로세스들의 전체 경로를 표시하며 이 결과를 다시 "|"로 연결하여 "grep tty"의 결과 tty에 관련된 프로세스만을 표시해 준다.
간단히 정리하면 아래 명령어의 결과는 "모든 프로세스들 중에서 tty"에 관련된 프로세스만을 표시해 준다는 의미이다.
[root@sulinux ~]#ps -ef | grep tty root 2118 1 0 05:50 tty1 00:00:00 /sbin/mingetty tty1 root 2119 1 0 05:50 tty2 00:00:00 /sbin/mingetty tty2 root 2120 1 0 05:50 tty3 00:00:00 /sbin/mingetty tty3 root 2121 1 0 05:50 tty4 00:00:00 /sbin/mingetty tty4 root 2122 1 0 05:50 tty5 00:00:00 /sbin/mingetty tty5 root 2123 1 0 05:50 tty6 00:00:00 /sbin/mingetty tty6 root 2230 2225 1 05:50 tty7 00:00:02 /usr/bin/Xorg :0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7 root 2255 1987 0 05:52 pts/1 00:00:00 grep --colour=auto tty [root@sulinux ~]# |
참고로 다음 명령의 결과는 현재 리눅스에서 실행되고있는 모든 프로세스들 중에서 ssh에 관련된 프로세스만을 표시해준다.
[root@RockyLinux01 ~]# ps -ef | grep ssh root 1003 1 0 11:13 ? 00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups root 1856 1003 0 11:20 ? 00:00:00 sshd: root [priv] root 1884 1856 0 11:20 ? 00:00:00 sshd: root@pts/0 root 2134 1890 0 11:48 pts/0 00:00:00 grep --color=auto ssh [root@RockyLinux01 ~]# |
위의 두 결과를 보면 다음과 같은
결론을 얻을 수 있다.
즉 특정프로세스만을 확인하고자 할 때에는 "ps -ef | grep 프로세스명"과 같이 하면 된다는 것을 알 수 있다.
다음과 같이 실무에서 많이 사용하는
응용 예를들어 보겠다.
httpd에 관련된 프로세스를 확인하고자 할 때에는 다음과 같이 실행한다.
[root@RockyLinux01 ~]# ps -ef | grep httpd root 2139 1 3 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2140 2139 2 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2141 2139 2 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2142 2139 2 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2143 2139 2 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2144 2139 2 11:48 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND root 2187 1890 0 11:48 pts/0 00:00:00 grep --color=auto httpd [root@RockyLinux01 ~]# |
그리고 여기서 조금 응용하면 httpd의 프로세스 개수가 몇 개나 되는가를 확인하려면 다음과 같이 실행한다.
아래의 예에서 httpd이름으로 실행되어 있는 프로세스가 모두 7개임을 알 수 있다.
[root@RockyLinux01 ~]# ps -ef | grep httpd | wc -l 7 [root@RockyLinux01 ~]# |
마찬가지로 mysqld에 대한 프로세스도 httpd와 동일하게 하면된다.
즉, mysqld에 관련된 프로세스를 확인하려면 다음과 같이 하면된다.
[root@sulinux ~]# ps -ef | grep mysqld |
그리고 mysqld의 프로세스가 몇 개나 되는가를 확인하려면 다음과 같이 하면된다.
[root@sulinux ~]# ps -ef | grep mysqld | wc -l |
이상과 같이 ps는 현재 서버내의 모든 프로세스들을 대상으로 그 상태를 확인할 수 있는 명령어이다.
이상과 같이 ps의 명령어사용법에 대해서 알아보았다.
아마도 리눅스의 모든 명령어들 가운데 매우 중요하면서도 사용하기 간편한 명령어가 ps가 아닐까한다.
그렇다고 해서 결코 가볍게 생각해도 되는 명령어는 아니다.
사용법을 정확하게 익혀서 시스템관리에 큰 도움이 되기를 바란다.
관련자료
-
이전
-
다음