리눅스마스터2급강좌 : 프로세스(process) 특정 시그널보내기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 4,496 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 : 프로세스(process) 특정 시그널보내기
kill
kill 명령은 지정한 프로세스에 특정한 시그널(signal)을 보내는 명령어이다.
즉, 특정 프로세스에 실행종료시그널, 재시작시그널 등 명령어의 의미에서도 알 수 있듯이 주로 프로세스를 종료하는 용도로 사용되는 명령어이다.
지정한 시그널이 없으면 TERM 시그널을 보내는데, 이 시그널은 프로세스를 종료시킬 것이다.
프로세스의 종료는 상기한 바와 같이 프로세스가 포그라운드에 있는 경우에는 <Ctrl+C>로 종료가 가능하지만 백그라운드에 있는 경우에는 kill 또는 killall 명령을 사용해야 한다.
그리고 이 명령어들은 해당 콘솔에서 실행된 프로세스뿐만 아니라 현재 실행된 모든 프로세스를 제어할 수 있다.
수퍼 유저는 모든 프로세스에 대해 kill 명령어를 사용할 수 있으나 일반 사용자들은 자기가 실행시킨 프로세스에 대해서만 kill 명령어를 사용할 수 있다.
이 명령을 사용하는 가장 간단한 방법은 kill 뒤에 프로세스 아이디(PID)를 적는 것이다.
그리고 필요에 따라 kill 뒤에 옵션을 사용하여 시그널을 지정할 수 있다.
|
|
|
| kill [-s 시그널|-p] [-a] [--] PID ... kill –l [시그널] |
|
|
|
|
kill의 옵션은 다음과 같다.
옵션 | 의미 |
-s | 특별히 보낼 시그널을 지정한다.
여기에는 시그널 이름이나 번호가 온다. |
-l | 시그널로 사용할 수 있는 시그널 이름들을 보여준다. |
-a | 프로세스 ID를 pid로 변환할 때, 다른 uid를 갖는 프로세스도 변환시킬 수 있도록 허용한다. |
-p | 프로세스 ID를 지정한 경우, 그 프로세스에 시그널을 보내지는 않고 그 프로세스의 이름만 보여준다. |
다음과 같이 –l 옵션을 사용하면 kill 명령어에서 사용 가능한 모든 시그널들을 보여 준다.
시그널은 시그널의 번호, 시그널 이름 및 시그널로 각각 보낼 수 있는데, 예를 들어 강제로 실행중인 프로그램을 종료시킬 때에는 옵션으로 –9, -SIGKILL, -KILL 등을 사용하면 된다.
아래는 자주 사용되는 시그널의 의미들이다.
번호 | 시그널 이름 | 시그널 | 의미 |
1 | SIGHUP | HUP | hangup. 로그아웃하거나 접속을 끊을 때 발생하는 시그널로서, 특정의 실행 중인 프로그램이 이용하는 설정 파일을 변경시키고 변화된 내용을 적용할 때 이용된다.
|
2 | SIGINT | INT | interrupt. 현재 작동중인 프로그램의 동작을 멈출 때 사용한다.
사용자가 터미널에서 종료키(quit)를 누를 때 커널에 의해 보내지는데 일반적인 값은 <ctrl + c>이다. |
3 | SIGQUIT | QUIT | SIGINT와 마찬가지로 사용자가 터미널에서 종료키(quit)를 누를 때 커널에 의해 보내지는데 일반적인 값은 <ctrl + \>이다. |
9 | SIGKILL | KILL | 무조건 해당 실행중인 프로그램을 중지시킨다.
이 시그널 역시 많이 사용되는데, 실행중인 프로그램을 무조건 끝내고 싶을 때 이 시그널을 보내면 바로 종료한다. |
11 | SIGSEGV | SEGV | segmentation violation. 메모리 액세스가 잘못 되었을 때 발생한다.
|
15 | SIGTERM | TERM | 실행중인 프로그램에 정의되어 있는 정상적인 종료방법으로 프로그램을 끝내게 한다.
kill 명령에서 시그널을 특별히 지정하지 않으면 이 시그널을 이용하여 프로그램을 끝낸다.
|
18 | SIGCONT | CONT | 중단되었던 프로세스를 재개한다. |
19 | SIGSTOP | STOP | 프로세스를 중단한다. |
20 | SIGTSTP | TSTP | 터미널에서의 중단 시그널이다.
|
다음과 같이 kill 명령을 사용하여 firefox과 gnome-calculator 프로그램의 프로세스를 종료하도록 하자.
|
|
|
| # jobs -l [1]+ 5377 Stopped firefox [2]- 5398 Running gnome-calculator & # kill 5398 [2] 종료됨 gnome-calculator # kill -9 5377 |
|
|
|
|
관련자료
-
이전
-
다음