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


11

나는 한 시간 동안 검색하고 그것을 사용하는 백 가지 예제를 찾았지만 그 기능에 대한 설명은 없습니다. 나는 확인했다 man apache2ctl; k 플래그도 설명하지 않습니다 (예제에서는 사용하지만).

답변:


8

예, 설명에 약간 묻혀 있습니다 .

통과 모드에서 작동 할 때 바이너리에 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 플래그를 생략하면 실제로 어떤 일을 평범한 영어로 설명 할 수 있습니까? 내 우분투 서버에서 k 플래그를 사용하거나 사용하지 않으면 아무런 차이가없는 것 같습니다. 알 수있는 한 항상 성공적으로 다시 시작됩니다.
BadHorsie

당신이보고있는 것은 정상입니다. 내가 말했듯이 사용하지 않는 경우, -k다음 apachectl명령 자체를 처리하지만 동일하지 않습니다 httpd. 를 사용 -k하면 명령이있는 그대로 전달됩니다 httpd.
slhck

나는 여전히 기능면에서 그것이 무엇을 의미하는지 알지 못하지만 정직하지만, 당신은 -k 플래그를 사용하든 아니든 상관없이 로터리 방식으로 같은 일을 할 것이라고 말하고 있습니까? ?
BadHorsie

1
그게 내가 말하는 것입니다. 역사적인 이유로 두 가지 모두 작동합니다.
slhck

"작은 매장"? 아파치 문서는 정말 짜증납니다. 나는 이것이 역사적인 이유라고 생각하지 않으며, 다른 주장을 httpd에 전달하는 이유이기도합니다.
팔로

2

추가 편집 : 죄송합니다. 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에게 시작, 재시작 또는 중지 신호를 보냅니다.

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