apache2ctl "-k" 플래그는 무엇입니까?

apache2ctl "-k" 플래그는 무엇입니까?

나는 한 시간 동안 검색해왔고 그것을 사용하는 수백 가지 예를 찾았지만 그것이 무엇을 하는지에 대한 설명은 없습니다. 나는 확인했다 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에 시작, 재시작 또는 중지 신호를 보냅니다.

관련 정보