Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been searching for an hour and have found a hundred examples that use it, but no explanation of what it does. I did check man apache2ctl; it doesn't explain the k flag either (elthough it does use it in examples).

share|improve this question

2 Answers 2

up vote 4 down vote accepted

Yeah, it's a little buried in the description:

When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary.

apachectl [ httpd-argument ]

So let's look at http's documentation then:

-k start|restart|graceful|stop|graceful-stop

Signals httpd to start, restart, or stop.

So if you use -k <option>, you'll simply pass on to httpd, which needs this argument.

If you don't use the -k, apache2ctl will instead look for commands that it will handle itself, which are again the same as httpd would take.


Looking at the source code exhibits this behavior, where a case statement checks whether the first argument is one of the recognized internal commands, and finally (as a fallback), everything's passed onto httpd.

case $ARGV in
start)
  HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
  # ...
stop|graceful-stop)
  # ...
# ...
*)
    $HTTPD ${APACHE_ARGUMENTS} $ARGV
    ERROR=$?
esac
share|improve this answer

Edit to add: Sorry, slhck types faster than me :D

'apache2ctl' is actually just a front-end for the 'httpd' executable and runs in two modes depending on if you're wanting it to be SysV init scriptable or if you're wanting to pass-through options to the httpd executable. The -k actually gets passed through to httpd.

http://httpd.apache.org/docs/2.2/programs/apachectl.html

When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary.

apachectl [ httpd-argument ]

So from the httpd man page, http://httpd.apache.org/docs/2.2/programs/httpd.html

-k start|restart|graceful|stop|graceful-stop Signals httpd to start, restart, or stop.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.