작업 제어에 사용되는 "kill" 명령은 프로세스에 신호를 보내는 데 사용되는 "kill" 명령과 동일합니까?

작업 제어에 사용되는 "kill" 명령은 프로세스에 신호를 보내는 데 사용되는 "kill" 명령과 동일합니까?

Linux에서는 다음을 수행할 수 있습니다.

kill 1(또는 kill %1)

이는 "프로세스 종료"를 의미합니다.직업 번호 1".

다음을 수행할 수 있습니다.

kill 1234

이는 " SIGTERMPID 1234로 처리하기 위해 신호 보내기"를 의미합니다.

이 두 kill명령은 동일한 명령입니까, 아니면 두 개의 다른 명령입니까?

답변1

나는 당신이 그것을 할 수 있을지 확신하지 못합니다 kill 1(또는 시도할 수는 있지만 뿌리가 없으면 그것을 할 수 없으며 놀랄 것입니다). 1이는 항상 ID가 1인 프로세스 init(또는 그 변형)를 나타냅니다.

실제로 귀하의 질문에 답하기 위해 사용 중인 셸이 작업 제어를 지원하는 경우 kill셸에는 두 경우 모두(작업 및 프로세스 관리)에 대한 처리 기능이 내장되어 있습니다. 예시 보기배쉬의 kill명령.

사용 중인 쉘이 작업 제어를 지원하지 않는 경우(지원합니까?) kill이는 일반적으로 시스템의 바이너리입니다 /bin/kill.util-linux명령kill. kill내장 명령이 있는 셸 에서도 전체 경로를 지정하여 명령에 액세스할 수 있습니다. 이 kill명령은 쉘 없이도 액세스할 수 있습니다(다른 프로그램에서 사용하기 위해).

당신은 또한 볼 수 있습니다POSIX 정의kill, 두 가지 경우를 모두 다루고 있습니다(단, 무엇이 어디에 구현되는지는 지정하지 않음).

관련 정보