SIGQUIT는 SIGTERM과 동일합니까?


13

CentOS / RHEL을 배우고 있으며 현재 프로세스 관리에 관한 몇 가지 작업을하고 있습니다.

내가 읽고있는 RHCSA 책은 kill 1234SIGQUIT를 보내는 것으로 실행하는 것을 설명합니다 . 신호 유형에 대한 스위치를 추가하지 않고 kill 명령을 항상 기본값으로 설정해야한다고 생각했습니다.kill -15

SIGTERM은 kill -15SIGKILL이 kill -9맞습니까?

CentOS / RHEL이 약간 다른 방법을 사용 kill -15하거나 방금 실수 한 적이 있습니까?

편집 : kill -lSIGQUIT를 제공 kill -3하고 키보드를 사용하여 프로세스를 종료하는 것과 관련이있는 것 같습니다. man 7 signal또한 SIGQUIT가 kill -3이라고 말하므로 SIGQUIT가 kill -15기본값 이라고 진술하는 데 내 책이 잘못되었다고 가정 할 수 있습니다 .

답변:


13

아니요, 동일하지 않습니다. 둘 다에 대한 기본 조치는 프로세스를 종료하고 SIGQUIT코어를 덤프하는 것입니다. 예를 들어 Linux 매뉴얼 페이지를 참조하십시오signal(7) . kill기본적으로 SIGTERM을 전송하므로 SIGQUIT에 대한 언급이 실수라고 생각할 수 있습니다. 즉, 기본값은 POSIX에 , 그래서 SIGTERM, SIGKILL과 SIGQUIT를위한 번호입니다.


1
네. SIGQUIT도 -15로 표시하기 때문에이 책이 잘못되었다고 생각합니다. Signal -15는 Linux 세계에서 프로세스를 끝내는 확립 된 방법으로, 오판이 의심의 여지가 없습니다. 귀하의 답변을 정확한 것으로 표시하겠습니다. SIGQUIT의 기능을 확장 해 주셔서 감사합니다.
bitofagoob

1

procps와 쉘에 각각 하나씩 두 개의 kill 명령이 있습니다. 둘 다 SIGTERM을 기본값으로 사용합니다. procps kill의 경우 명령 help, manual page 및 kill source (최신 마스터 브랜치의 skill.c line 724)는 모두 SIGTERM이라고 말하며 일관성이 있음을 알고 있으면 좋습니다.

신호에 대해 기억해야 할 한 가지는 "일반적인 무리"를 지나서 x86 Linux 시스템과 약간 다른 시스템을 사용하면 신호가 없거나 번호가 다른 것을 발견 할 수 있습니다. procps (그리고 아마도 다른 많은 프로그램)는 컴파일 타임에 숫자를 굽습니다 (기본적으로 포함 파일이 무엇이든간에 signum.h를 찾으십시오).

@ilkkachu가 말했듯이 SIGTERM은 POSIX에 대해 걱정할 것이 없습니다.


기술에 대한 맨 페이지는 기술과 snice는 쓸모가 없다고 말합니다. 왜 그들이 사용자 공간에서 제거되지 않았는지 궁금합니까? 어쨌든 재미있는 정보. 감사.
bitofagoob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.