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

ps실무2편: 프로세스 확인하는 ps의 기본 활용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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가 아닐까한다.

 

 

 

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

 

 

 

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

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


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