| HOME / 정보공유 / AIX 명령어 모음

kill
kill kill 명령 목적 수행 중인 프로세스에 신호를 송신합니다. 구문
신호를 프로세스로 전송하는 방법
kill [ -s { SignalName | SignalNumber } ] ProcessID ...
kill [ - SignalName | - SignalNumber ] ProcessID ...
신호 이름을 나열하는 방법
kill -l [ ExitStatus ]
설명
kill 명령은 신호(디폴트로 SIGTERM 신호)를 수행 중인 프로세스에 전송합니다. 이 디폴트 조치는 보통 프로세스를 정지시킵니다. 프로세스를 정지하려면, ProcessID 변수에 프로세스 ID(PID)를 지정하십시오. 쉘이 백그라운드에서 수행 중인 각 프로세스의 PID(프로세스 ID)를 보고합니다(이것은 사용자가 한 파이프라인에서 둘 이상의 프로세스를 시작하지 않는 경우에 한하며, 그런 경우에는 쉘이 최종 프로세스의 번호를 보고합니다). 또한, ps 명령을 사용하여 명령의 프로세스 ID 번호를 찾을 수도 있습니다.
루트 사용자는 kill 명령으로 모든 프로세스를 정지시킬 수 있습니다. 루트 사용자가 아닌 다른 사용자는 자신이 시작한 프로세스만을 정지시킬 수 있습니다.
SignalName은 SIG 접두어 없이 대소문자에 종속되지 않는 것으로 인식됩니다.
지정된 SignalNumber가 0인 경우, kill 명령은 지정된 PID(프로세스 ID)의 유효성을 점검합니다.
플래그
-s{SignalName | SignalNumber} SIGKILL -9 또는 SIGTERM -15와 같이 신호 번호 또는 신호 이름으로 신호를 지정합니다.
-SignalName SIGHUP와 같이 신호 이름을 지정합니다. 이것은 더 이상 사용되지 않는 구문입니다.
-SignalNumber 신호 번호를 지정합니다. 이것은 더 이상 사용되지 않는 구문입니다.
주: 이 구문에서 디폴트 신호와 함께 음수의 PID(프로세스 ID)를 지정하려면, 반드시 신호로서 - -를 지정해야 합니다. 그렇지 않으면, 첫번째 피연산자가 SignalNumber로 해석됩니다.
ProcessID 신호를 받게 될 프로세스 또는 프로세스 그룹을 나타내는 10진 정수를 지정합니다. PID(프로세스 ID)가 양수인 경우, kill 명령은 PID(프로세스 ID)와 동일한 프로세스 ID를 가진 프로세스를 전송합니다. PID 값이 0인 경우, kill 명령은 전송자의 프로세스 그룹 ID와 같은 프로세스 그룹 ID를 갖는 모든 프로세스에 신호를 전송합니다. 0 또는 1의 PID를 갖는 프로세스에는 신호가 전송되지 않습니다. PID가 -1인 경우, kill 명령은 전송자의 유효 사용자가 소유하는 모든 프로세스에 신호를 전송합니다. 0 또는 1의 PID를 갖는 프로세스에는 신호가 전송되지 않습니다. PID가 음수이긴 하지만 -1이 아닌 경우, kill 명령은 PID의 절대값과 같은 프로세스 그룹 ID를 갖는 모든 프로세스로 신호를 전송합니다.
-l 이행에 의해 지원되는 모든 신호 이름을 나열합니다.
-lExitStatus 공통 SIG 접두어의 스트라이프된 신호 이름을 나열합니다. ExitStatus가 10진 정수 값인 경우, 해당 신호에 상응하는 신호 이름이 표시됩니다. ExitStatus가 신호에 의해 종료된 프로세스에 상응하는 종료 상태의 값인 경우, 프로세스를 종료한 신호에 상응하는 신호 이름이 표시됩니다.
종료 상태
이 명령은 다음과 같은 종료 값을 리턴합니다.
0 최소한 하나의 일치 프로세스가 각 ProcessID 피연산자에 대해 발견되었고, 지정된 신호가 최소한 하나의 일치 프로세스에 대해 성공적으로 처리되었습니다.
>0 오류가 발생했습니다.
예제
제공된 프로세스를 정지시키려면, 다음을 입력하십시오.
kill 1095
이것은 디폴트 SIGTERM 신호를 전송하여 프로세스 1095를 정지시킵니다. 프로세스 1095가 SIGTERM 신호를 무시하거나 대체하기 위해 특수 인수를 만든 경우에는, 실제로 정지하지 않을 수도 있다는 것을 주지하십시오.
디폴트 신호를 무시하는 여러 프로세스를 정지시키려면, 다음을 입력하십시오.
kill -kill 2098 1569
신호 9, SIGKILL 신호를 프로세스 2098과 1569에 전송합니다. SIGKILL 신호는 보통 무시되거나 대체될 수 없는 특수 신호입니다.
사용자의 모든 프로세스를 정지시키고 로그오프하려면, 다음을 입력하십시오.
kill -kill 0
신호 9, SIGKILL 신호를 전송자의 프로세스 그룹 ID와 동일한 프로세스 그룹 ID를 갖는 모든 프로세스에 전송합니다. 쉘이 SIGKILL 신호를 무시할 수 없기 때문에, 로그인 쉘 역시 정지시키고 사용자를 로그 오프시킵니다.
사용자가 소유하는 모든 프로세스를 정지시키려면, 다음을 입력하십시오.
kill -9 -1
다른 워크스테이션에서 시작되고 다른 프로세스 그룹에 속하더라도 유효 사용자가 소유한 모든 프로세스에 신호 9, SIGKILL 신호를 전송합니다. 사용자가 요청한 리스트가 인쇄되고 있는 중이라면, 그것도 정지됩니다.
프로세스에 다른 신호 코드를 전송하려면, 다음을 입력하십시오.
kill -USR1 1103
SIGUSR1을 비롯한 많은 신호가 프로세스를 정지시키지 않기 때문에 kill 명령 이름이 잘못 이해되기 쉽습니다. SIGUSR1상에 취해지는 조치는 사용자가 수행 중인 특정 응용프로그램에 의해 정의됩니다.
주: kill 명령의 이 양식으로 신호 15, SIGTERM 신호를 전송하려면, 명시적으로 -15 또는 SIGTERM을 지정해야 합니다.
파일
/usr/include/sys/signal.h 신호 이름을 지정합니다.
관련 정보
csh 명령, ksh 명령, ps 명령, sh 명령.
kill 서브루틴, sigaction 서브루틴.