1. kill command
Linux의 kill 명령은 시스템에서 실행 중인 프로세스에 신호를 보내는 데 사용됩니다. 이러한 신호는 프로세스를 종료하거나 프로세스를 중지하거나 다른 방식으로 프로세스의 동작을 수정하는 데 사용할 수 있습니다.
kill 명령의 기본 구문은 다음과 같습니다.
kill [signal] [process ID(s)]
여기서 signal은 프로세스에 보내려는 신호이고 process ID(s)는 신호를 보내려는 프로세스의 ID입니다.
시스템에서 프로세스 ID가 1234인 프로세스가 실행 중이고 kill 명령을 사용하여 이 프로세스를 종료하려고 한다고 가정해 보겠습니다. 다음 명령을 사용합니다.
kill 1234
이렇게 하면 ID가 1234인 프로세스에 SIGTERM 신호를 보내 정상적으로 종료하도록 요청합니다. 프로세스가 일정 시간 내에 이 신호에 응답하지 않으면 SIGKILL 신호를 보내 프로세스를 강제 종료할 수 있습니다.
프로세스가 성공적으로 종료되면 kill 명령은 출력을 생성하지 않습니다. 그러나 어떤 이유로 프로세스를 종료할 수 없는 경우(예: 이미 종료되었거나 사용자에게 충분한 권한이 없음) 오류 메시지가 표시됩니다.
다음은 kill 명령으로 프로세스를 종료하려고 할 때 볼 수 있는 출력의 예입니다.
$ kill 1234
프로세스가 성공적으로 종료되면 출력이 없습니다.
프로세스를 종료할 수 없는 경우 다음과 같은 오류 메시지가 표시될 수 있습니다.
kill: (1234): Operation not permitted
이 오류 메시지는 kill 명령을 실행하는 사용자에게 지정된 프로세스를 종료할 수 있는 충분한 권한이 없음을 나타냅니다.
2. kill command option
종료하려는 PID(프로세스 ID) 1234의 프로세스가 있다고 가정합니다. kill 명령을 사용하여 해당 프로세스에 종료를 요청하는 신호를 보낼 수 있습니다. 다음은 kill 명령과 함께 다양한 옵션을 사용하는 방법입니다.
kill 1234 : 프로세스 1234에 기본 SIGTERM 신호를 보내 정상적으로 종료하도록 요청합니다.
kill -s SIGINT 1234 : 일반적으로 프로세스를 중단하는 데 사용되는 프로세스 1234에 SIGINT 신호를 보냅니다.
kill -s SIGKILL 1234 : 프로세스 1234에 SIGKILL 신호를 전송하여 프로세스를 즉시 종료합니다.
kill -l : 프로세스에 보낼 수 있는 모든 사용 가능한 신호를 나열합니다.
kill -9 1234 : 이전 예제와 마찬가지로 프로세스 1234에 SIGKILL 신호를 보냅니다. -9 옵션은 SIGKILL의 줄임말입니다.
kill -u someuser : someuser 사용자가 소유한 모든 프로세스에 SIGTERM 신호를 보냅니다.
kill -SIGUSR1 1234 : 프로세스 1234에 SIGUSR1 시그널을 보낸다.
kill -STOP 1234 : 프로세스 1234에 SIGSTOP 신호를 전송하여 프로세스를 일시적으로 중지합니다.
kill -CONT 1234 : 중지된 프로세스를 재개하는 프로세스 1234에 SIGCONT 신호를 보냅니다.
kill -0 1234 : PID가 1234인 프로세스가 존재하고 현재 사용자에게 신호를 보낼 수 있는 권한이 있는지 확인합니다. 이 경우 실제로 신호가 전송되지 않습니다.
kill 명령은 Linux 시스템에서 프로세스를 관리하기 위한 강력한 도구이지만 의도하지 않은 결과를 피하기 위해 주의해서 사용해야 합니다.
댓글