답변:
예, 설명에 약간 묻혀 있습니다 .
통과 모드에서 작동 할 때 바이너리에
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
-k
다음 apachectl
명령 자체를 처리하지만 동일하지 않습니다 httpd
. 를 사용 -k
하면 명령이있는 그대로 전달됩니다 httpd
.
추가 편집 : 죄송합니다. slhck 유형이 나보다 빠릅니다 : D
'apache2ctl'은 실제로 'httpd'실행 파일의 프론트 엔드이며 SysV init 스크립팅 가능 여부 또는 httpd 실행 파일에 옵션을 전달 하려는지 여부에 따라 두 가지 모드로 실행됩니다. -k는 실제로 httpd로 전달됩니다.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
통과 모드에서 작동 할 때, apachectl은 httpd 바이너리에 사용 가능한 모든 인수를 취할 수 있습니다.
apachectl [httpd-argument]
httpd 매뉴얼 페이지에서 http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop httpd에게 시작, 재시작 또는 중지 신호를 보냅니다.