명령어 : 프로세스 관리 Linux

일단 프로세스를 보는 방법에는 여러가지가 있다.

 

 top 을 치면 일정 주기로 갱신되면서 프로세스가 자원을 얼마나 먹는지가 대충 나온다.

top화면에서 엔터를 치면 바로갱신해서 보여주고, top 화면을 종료할때는 q 를 누르면 종료가 된다.

 


 그리고 pstree 라는 명령을 쳐보시면 현재 프로세스목록이 부모 - 자식 관계를 tree 형태로구성해서 보여준다.

프로세스 이름 옆에 (숫자) 이렇게 같은 프로세스가 몇개나 동시에 돌아가고 있는지도 표시가 된다.


중복프로세스는 잘 구별해서 관리해 주셔야 합니다. 아파치 웹서버 같은경우 기본적으로 몇십개씩 돌아가고 있는데 이는웹서버로 요청한 수에 비례하는게 보통이므로 정상이다. 오해해서 강제로 죽이는 일이 없도록 해야한다.


전혀 방문자가 많을 이유가 없는데 한 순식간에 아파치가 200개 정도로 치솟는다던가 하면 문제가 있는것이니 일단죽여야 하는 상황이 있긴 하다. 흔히 '폭주' 라고 한다.

 

pstree -p 하시면 PID(프로세스의 ID) 까지 좀더 자세히 나온다.

 

여기까지는 그냥 요약해서 보는 명령어 이다.


 

 프로세스관리에서 가장 많이 쓰이는게 ps kill 명령어 이다.

 

간단한 사용법을 소개하면,


ps -ef 하면 현재 돌아가고있는 프로세스들이 사용중인 자원, 접근중인 파일이나 IP 등이 표시가 된다.

비슷한 명령어로 ps aux 가 있다.

ps 명령에 대해 자세히 알아보시려면 man ps 해보시는게 가장 좋다.

 

grep 명령을 이용해서 원하는 프로세스만 찾아볼수도 있다.

 

ps -ef | grep httpd 하면,

httpd(보통 아파치 웹서버) 프로세스들의 상태와 PID가 표시된다.

 


그 다음은 kill.

 

kill 은 이름대로 프로세스의 실행을 종료시키는 명령이다.

일단 위에서 설명드린 pspstree, top 명령으로 죽이길 원하는 프로세스를 찾아서 PID(숫자) 를 확인 한다.

그런다음 kill -15 PID 이렇게 하시면 됩니다

 

예를 들어 아파치 웹서버를 죽이고 싶은데,

 

ps -ef  | grep apache(또는 httpd) 하면,

 

아파치 프로세스의 PID를 볼수있다. 아파치 프로세스의 PID가 20000번 이라면,

 

kill -15 20000

 

하시면 20000번의 PID를 가진 아파치 프로세스를 죽일 수 있다.

 

kill - 뒤에 15라는 숫자는 프로세스에게 모종의(?) 신호를 보내는 형태별로 몇가지가 정의가 되어있는 형태중하나를 뜻한다.

 

kill -15 하면 정상적인 절차를 밟아 프로세스를 종료시키도록 하지만 이게 말을 안들을땐 프로세스를강제종료 해야 할 경우도 있다. (윈도우에서 ctrl+alt+del 을 눌러서 작업관리자를 열어서 강제종료하듯)

 

이럴땐,  kill -9 PID 이렇게 한다.

 

-15-9 등의 차이점에 대해 자세히 알아보실려면 역시 man kill 해보시면 된다.

 


※ 폭주상태나 시스템이 불안정한 상태가 아닌경우 서비스 구동 명령을 통해 시작된 프로세스는 왠만해선 서비스 종료명령을 이용하는게 좋다.

 

아파치의 경우, apache stop 을 이용하시는게 더 좋고,

mysql 이라면 mysqladmin  -uroot -p 패스워드 shutdown 이렇게 하시는게안전하다.


대부분 프로세스를 구동하는 서비스 마다 켜고 끄는 명령이 지원되니 이것도 알아두면 좋다.

 


우분투까깐 대부분 /etc/init.d/ 에 구동/종료 스크립트가 모여있을거라 생각된다.

위에 나열한 프로세스 관리 명령으로 어떤 프로세스가 돌아가는지 확인하신 후 서비스별 명령어로 하나씩 꺼주면 된다.

시스템이 시작될때 같이 돌아가는 서비스들 중 사용하지 않는 서비스 등을 제거하려면 ntsysv 명령에 대해알아보면 된다.

사용하지 않는 서비스를 죽여서 뜨는 프로세스의 수를 줄이면 보안에도 좋다.

 


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://hi5143.egloos.com/tb/2243997 [도움말]

덧글

덧글 입력 영역