pkill 명령의 -KILL 옵션은 무엇입니까

pkill 명령의 -KILL 옵션은 무엇입니까

명령줄을 사용하여 모든 사용자를 로그아웃하는 방법을 찾았습니다. 이제 명령을 실행하여 pkill -KILL -u <username>입력한 세션에서 로그아웃할 수 있습니다. 내 질문은 둘 중 하나에 사용 가능한 스위치나 옵션에 대한 설명이
없는 이유입니다. -KILL나는 사용하고 있습니다. 미리 감사드립니다.man pkillpkill --help
Ubuntu Mate 16.04

답변1

이 매개변수는 다른 매개변수로 식별된 모든 프로세스에 어떤 신호를 보낼지 -KILL알려줍니다 . pkill그래서 당신은 SIGKILL을 보내고 있는 것입니다. 이는 당신이 하려는 것처럼 보이는 일을 수행하는 매우 매우 불결한 방법입니다. SIGHUP( ) 또는 SIGTERM( SIGTERM이 /의 기본 신호 -HUP이므로 포함하거나 생략 ) 을 보낼 수 있습니다 .-TERMkillpkill

SIGTERM단순화하기 위해 프로세스가 커널로부터 메시지를 받으면 다음과 같이 알려줍니다."이제 나가야 합니다. 정리하고 자진 종료하세요.". 잘 설계된 대부분의 프로그램은 이 신호를 받으면 즉시 종료됩니다.

프로세스가 이를 수신하면 다음과 같이 SIGHUP알려줍니다."야, 누구랑 통화 중이든 끊으세요.". 이는 역사적으로 예상치 못한 연결 끊김이 발생하기 쉬운 직렬 연결에 사용되었지만, 쉘의 작업 제어가 보류 중인 모든 프로세스를 중지하도록 하는 신호로 자주 사용됩니다(또는 종종 데몬이 자체를 다시 초기화하거나 해당 구성 파일을 다시 구문 분석하도록 함).

프로세스가 이를 수신하면 SIGKILL커널은 (은유적으로) 그 뒤로 걸어가서 머리 뒤쪽에 총을 쏜다. 한편으로는 소란도 없고 혼란도 없습니다. 반면에 청소해야 할 큰 혼란이 있을 수 있습니다.

ed 프로세스는 KILL열려 있는 임시 파일을 정리할 기회가 없습니다. 플러시되지 않은 캐시된 데이터는 모두 손실될 수 있습니다. 그러므로아니요SIGKILL당신이 아니면 보내세요진짜해야 하다.

관련 정보