리눅스마스터1급: 인터럽트 시그널 보내는 killall
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,169 조회
- 0 추천
- 목록
본문
리눅스마스터1급: 인터럽트 시그널 보내는 killall
killall
killall 명령어는 명령어의 이름에서도 알 수 있듯이 특정 프로세스를 한 번에 모두 종료시킬 수 있는 명령어이다.
간단히 특정 프로세스를 한 번에 종료시키고자 할 때 유용하게 사용할 수 있다.
1) 개요
|
|
|
| killall [-egiqvw] [-signal] name ... killall –l killall –v |
|
|
|
|
2) 옵션
다음은 killall의 옵션들에 대한 설명이다.
옵션 | 의미 |
-e | 매우 긴 이름에 대해 정확한 짝을 요구한다.
만약 명령 이름이 15글자가 넘으면, 완전한 이름은 이용 불가능할 수도 있다(다시 말하면 그것이 바뀔 수 있다는 것이다). 이런 경우에 killall은 처음 15자 이내가 맞는 것은 모두 종료시킬 것이다.
-e 옵션을 지정하면, 이러한 영역은 지나치게 된다.
killall은 -v 옵션이 -e 옵션과 함께 지정되어 있으면, 각각의 지나친 엔트리마다 메시지를 출력한다.
|
-g | 프로세스가 속한 프로세스 그룹을 종료시킨다.
같은 프로세스 그룹에 속한 여러 개의 프로세스들이 발견되더라도 시그널은 그룹당 한 번만 보내진다.
|
-i | 종료시키기 전에 확인을 위해 상호적으로 물어본다.
|
-l | 알려진 모든 시그널 이름 목록을 보여준다.
|
-q | 프로세스가 전혀 종료되지 않았어도 지적하지 않는다.
|
-v | 시그널이 성공적으로 보내졌다면 보고한다.
|
-V | 버전 정보를 출력한다.
|
-w | 모든 종료요청된 프로세스들이 종료되도록 기다린다.
killall은 1초에 한 번씩 종료요청된 프로세스들이 여전히 존재하는지 검사해서 아무것도 남지 않게 될 때 반환한다.
killall은 시그널이 무시되거나 영향이 없을 경우, 프로세스가 좀비 상태에 머무르게 될 경우에 영원히 기다릴 수도 있음에 유의해야 한다.
|
3) 설명
killall은 뒤에 프로세스 아이디(PID) 대신 프로세스의 이름을 지정한다.
killall은 지정된 명령이 실행중인 모든 프로세스에 시그널을 보낸다.
만약 시그널 이름이 지정되지 않으면, SIGTERM이 보내진다.
시그널은 이름이나(예를 들면, -HUP) 숫자에 의해(예를 들면, -1) 지정될 수 있다.
시그널 0(프로세스가 존재하는지 검사)은 오직 숫자에 의해서만 지정될 수 있다.
만약 명령 이름이 슬래시(/)를 포함한다면, 특정한 파일을 실행중인 프로세스들은 이름에 상관없이 종료하도록 선택된다.
killall은 나열된 명령에서 아무런 프로세스도 종료하지 않으면 0이 아닌 코드를 반환한다.
만약 각 명령마다 최소한 하나의 프로세스라도 종료시켰으면, killall은 0을 반환한다.
killall 프로세스는 절대 자기 자신을 종료시키지 않는다.
다음과 같이 killall을 실행해 보자.
|
|
|
| # jobs -l [8] 5399 Stopped firefox & [9]- 5420 Running gnome-calculator & [10]+ 5426 Stopped firefox & # killall firefox [8] Exit 15 firefox # jobs -l [9]- 5420 Running gnome-calculator & [10]+ 5426 Exit firefox # jobs -l [9]+ 5420 Running gnome-calculator & |
|
|
|
|
관련자료
-
이전
-
다음