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需要这个参数的。

如果您不使用-kapache2ctl它将寻找它自己可以处理的命令,这些命令与所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 启动、重新启动或停止。

相关内容