killall과 함께 사용하면 -HUP는 무엇을합니까?


16

때로는 killall터미널에서 명령을 실행할 때 동료가 표시하도록 스크립트를 제안하거나 편집 할 수 killall -HUP있습니다.

그 역할은 무엇입니까 -HUP?


다음은 killall의 Apple 매뉴얼 페이지입니다 : developer.apple.com/library/mac/documentation/Darwin/Reference/… h = help, u = user 및 p = process처럼 보입니다. 그러나 그것들은 모두 소문자입니다. 매뉴얼 페이지에 대문자 매개 변수가 표시되지 않지만 대문자는 완전히 다른 의미를 가질 수 있습니다. 또는 존재하지 않을 수도 있습니다.
David DelMonte

답변:


21

-HUP옵션에 의해 프로세스로 전송 년대 신호 killall명령. 말하기가 약간 어려울 수 있지만 killall매뉴얼 의 관련 항목 은 다음과 같습니다.

-SIGNAL     Send a different signal instead of the default TERM.  The signal may be specified
            either as a name (with or without a leading SIG), or numerically.

보내는 기본 TERM신호 killall와 신호 의 차이는 HUP주로 신호를 보내는 프로그램에 따라 다릅니다. 프로그램 종료시 서로 다른 인터럽트 신호 값을받습니다. 따라서 프로그램은 인터럽트를 포착하고 값에 따라 하나의 작업을 수행해야하는지 결정할 수 있습니다.

TERM신호 (전통적으로 "신호를 종료")는 일반적으로 (politer의 버전으로 그것의 종료 요청하는 프로그램으로 전송되는 강제 과의 종료 KILL신호). 프로그램은 TERM신호 를 포착하고 무시할 수 있습니다. 원하지 않는 경우 종료 할 필요가 없으며이 신호를 완전히 무시할 수 있습니다.

HUP신호 (전통적으로 "행업 신호")은 일반적으로 요청 프로그램에 보내진다는 재시작 과정에서 모든 구성을 재 - 판독있다. 프로그램의 실제 동작은 프로그램 별 구현에 따라 다릅니다. 모든 프로그램 HUP이 지원되는 것은 아니며 컨벤션이나 교리에 의해 요구되는 것은 아닙니다. 예를 들어 Apache 웹 서버는 HUP신호 를 포착하고 모든 구성 파일을 다시 읽지 만 프로세스를 다시 시작하지는 않습니다.

프로세스를 진정으로 종료하고 신호를 포착하고 준수하는지 걱정하지 않으려면 신호를 사용하십시오 KILL. 잡히거나 무시할 수 없으며 프로세스가 종료됩니다.

사용 가능한 POSIX 신호에 대한 자세한 내용은이 Wikipedia 기사를 참조하십시오 .


2
killall에 대한 매뉴얼 페이지의 하단에있는 SEE ALSO 섹션에도 신호와 그 기능을 나열한 kill 맨 페이지 링크 가 있습니다.
Ian C.

나는 #FAIL스위치를 지나쳐 읽지 않은 사람들 중 하나입니다 . 감사합니다!
Danijel-James W

"전화 끊기 신호"로서 HUP는 일반적으로 사용자가 로그 아웃하거나 프로그램을 시작한 셸을 종료 할 때 프로그램으로 전송됩니다. 신호 포착이 프로그램에 의해 구현되지 않으면 프로그램은 일반적으로 종료됩니다. 위에서 언급 한 바와 같이, 신호를 수신하는 프로그램은 Apache 예에 의해 지시 된 바와 같이 신호를 포착 한 결과로서 임의의 원하는 활동을 구현할 수있다.
nachbar

2

-HUP, 응용 프로그램이 중단 트리거 그것의 설정 파일을 읽은 다음 다시 시작할 수있는 "전화를 끊고"신호입니다. 없이 사용하는 것보다 반드시 낫지는 않습니다.

killall Finder

killall -HUP Finder

정중하게 동일합니다. OS X에서 Finder는 다시 시작되지만 구성 파일을 다시 읽습니다. 실행중인 응용 프로그램에 -HUP내장 된 기능 이없는 경우에는 실제로 그렇지 않을 수 있습니다 . 이전 포스터에서 Apache를 언급했듯이 구성 파일을 읽지 만 다시 시작할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.