OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 프로세스 종료

주누다 2015. 3. 13. 22:45
반응형

프로세스 종료

- 응답이 없는 프로세스 또는 불필요한 프로세스를 '강제 종료' 하기 위해서는 

 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 : 프로세스 관련된 파일을 정리하고 프로세스를 종료(종료되지 않는 프로세스가 있을 수도 있음)

- 사용 예 : kill 1001, kill -15 1001, kill -9 1001 



'pkill' 명령을 이용한 프로세스 종료

- 'pkill'은 'kill'명령과 같이 시그널을 보내는데, PID가 아닌

 프로세스의 명령 이름(CMD)로 프로세스를 찾아 종료

- 'kill' 명령과의 차이점은, 명령 이름으로 찾아 종료하므로

 같은 명령이 여러 개 검색될 경우 한번에 모두 종료가 됨(자신이 소유한 프로세스만 종료가능)

ex)

user@ubuntu:~$ pkill -x man

user@ubuntu:~$ pgrep -x man

user@ubuntu:~$ 




반응형