나는 한 시간 동안 검색해왔고 그것을 사용하는 수백 가지 예를 찾았지만 그것이 무엇을 하는지에 대한 설명은 없습니다. 나는 확인했다 man apache2ctl
; k 플래그도 설명하지 않습니다(예제에서는 사용하지만).
답변1
응, 좀 묻어났어설명에:
통과 모드에서 작동할 때 바이너리
apachectl
에 사용 가능한 모든 인수를 사용할 수 있습니다httpd
.apachectl [ httpd-argument ]
그럼 살펴보자http
님의 문서그 다음에:
-k start|restart|graceful|stop|graceful-stop
httpd
시작, 다시 시작 또는 중지하라는 신호입니다 .
따라서 를 사용하는 경우 이 인수가 필요한 -k <option>
에 전달하기만 하면 됩니다 .httpd
-k
을 사용하지 않으면 에서는 apache2ctl
대신 자체적으로 처리할 명령을 찾습니다. 이 명령도 httpd
수행할 명령과 동일합니다.
소스 코드를 보면 문이 case
첫 번째 인수가 인식된 내부 명령 중 하나인지 확인하고 마지막으로 (대체로) 모든 것이 httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
답변2
추가 편집: 죄송합니다. slhck가 나보다 빠르게 입력합니다. :D
'apache2ctl'은 실제로 'httpd' 실행 파일의 프런트 엔드일 뿐이며 SysV init 스크립트 가능 여부 또는 httpd 실행 파일에 대한 옵션 통과 여부에 따라 두 가지 모드로 실행됩니다. -k는 실제로 httpd로 전달됩니다.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
통과 모드에서 작동할 때 apachectl은 httpd 바이너리에 사용 가능한 모든 인수를 사용할 수 있습니다.
apachectl [httpd-인수]
따라서 httpd 매뉴얼 페이지에서http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start|restart|graceful|stop|graceful-stop httpd에 시작, 재시작 또는 중지 신호를 보냅니다.