티스토리 뷰

Linux

프로세스 관리명령 2

Andrew Shin 2015. 5. 7. 02:14

2. 특정 프로세스 정보 검색하기

전체 프로세스 목록에서 특정 프로세스의 정보만 골라서 확인하기는 불편하다. 특정 프로세스를 바로 검색하려면 ps 명령과 grep 명령을 |(파이프)로 연결하여 이용하거나 pgrep 명령을 이용하는 방법이 있다.


ps 명령을 이용해 특정 프로세스 정보 검색하기

ps 명령과 grep 명령을 |로 연결하여 특정 프로세스의 정보를 검색할 수 있다.

'ps -ef | grep 명령'의 형태로 연결하면 된다.


pgrep 명령을 이용해 특정 프로세스 정보 검색하기

pgrep 명령은 ps와 grep를 하나로 통합하여 만든 명령이라고 생각하면 된다. pgrep 명령은 기본적으로 인자로 지정한 패턴과 일치하는 프로세스를 찾아 PID를 알려주며, 옵션의 지정에 따라 검색 내용이 다양해진다.

pgrep

기능 지정한 패턴과 일치하는 프로세스의 정보를 출력한다

형식 pgrep [옵션][패턴]

옵션 -x : 패턴과 정확히 일치하는 프로세스의 정보를 출력한다.

-n : 패턴을 포함하고 있는 가장 최근의 프로세스 정보를 출력한다.

-u 사용자 이름 : 특정 사용자에 대한 모든 프로세스를 출력한다.

-l : PID와 프로세스의 이름을 출력한다.

-t term : 특정 단말기와 관련된 프로세스의 정보를 출력한다.

사용 예 pgrep bash


3. 프로세스 종료하기

응답이 없는 프로세스나 불필요한 프로세스를 강제로 종료하려면 해당 프로세스의 PID를 알아야 한다. ps -ef나 ps aux 명령으로 프로세스의 정보를 확인하면 PID와 PPID를 볼 수 있다. 프로세스를 종료하는 데는 kill이나 pkill 명령을 사용하는데, 이 명령들은 프로세스에 시그널을 보내 프로세스를 종료한다.

kill 명령을 이용해 프로세스 종료하기

kill 명령은 인자로 지정한 프로세스에 시그널을 전달한다. 시그널은 프로세스에 보내는 간단한 숫자 메세지이다. 예를들어 9번은 강제종료, 15번은 프로세스 종료, 2번은 인터럽트 등 숫자별로 기능이 지정되어 있다. 즉, 프로세스는 각 시그널을 받으면 어떻게 처리할 것인지 동작이 지정되어 있다. 15번 시그널은 일반적으로 프로세스 종료이지만, 시그널을 무시하거나 다른 동작을 하도록 지정되어 있다면 프로세스가 종료되지 않을 수도 있다. kill 명령에서 시그널을 지정하지 않을 경우 15번 시그널로 간주된다. 그러나 9번 시그널은 강제종료이므로 무조건 종료되는데, 좀비 프로세스의 경우 9번 시그널을 받아도 종료되지 않을 수 있다.


kill

기능 지정한 시그널을 프로세스에 보낸다.

형식 kill [시그널] PID

시그널 -2 : 인터럽트 시그널을 보낸다(Ctrl + C)

   -9 : 프로세스를 강제로 종료한다.

   -15 : 프로세스가 관련된 파일을 정리하고 프로세스를 종료한다. 종료되지 않는 프로세스가 있을 수 있다.


pkill 명령을 이용해 프로세스 종료하기

pkill은 kill 명령과 같이 시그널을 보내는데, PID가 아니라 프로세스의 명령 이름(CMD)으로 프로세스를 찾아 종료한다. kill 명령과의 차이점은, 명령 이름으로 찾아 종료하므로 같은 명령이 여러 개 검색될 경우 한 번에 모두 종료한다는 것이다. 물론 자신이 소유한 프로세스만 종료할 수 있다.


시그널 개념이 조금 헷갈리는데 기존에 배웠던 MFC의 메세지 개념으로 이해하면 될것같다.


4. 프로세스 관리 도구

ps 명령으로는 현재 프로세스 목록을 확인만 할 수 있다. 이 정보를 좀 더 가공하여 사용자가 보기 편하게 다양한 기능을 제공하는 도구가 있다. 바로 터미널에서 사용할 수 있는 top 명령과 우분투의 GUI에서 제공하는 '시스템 감시'이다. 이 도구들은 시스템 관리자의 입장에서 실행중인 프로세스를 확인할 때 매우 유용하다.

top 명령

top명령은 현재 실행중인 프로세스에 대한 정보를 주기적으로 출력하는데, 프로세스의 자세한 요약 정보를 상단에 출력하고 각 프로세스의 정보를 하단에 출력한다.

top 명령은 종료되지 않고 실시간으로 프로세스의 상태를 보여주며, 내부적으로 사용하는 명령도 있다.

시스템 감시

우분투의 GUI인 그놈에서 기본으로 제공하는 도구 중에 '시스템 감시'가 있다. 이는 검색->system->시스템 감시의 순서로 동작 시킬수 있다.

시스템 감시는 프로세스 이름과 사용자 이름, CPU 사용량, 메모리 사용량, 우선순위 등의 정보를 보여주며, 프로세스 끝내기 버튼을 사용하여 프로세스를 종료할 수도 있다. 이 외에 시스템 감시에서는 시스템이나 파일 시스템 관련 정보도 확인할 수 있다. 따라서 윈도 환경에 익숙한 사용자는 프로세스를 관리하는 데 편리하게 사용할 수 있을 것이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함