如果 Apache 崩溃了,有没有办法在 Mac OS X 上自动重新启动 Apache?

如果 Apache 崩溃了,有没有办法在 Mac OS X 上自动重新启动 Apache?

我已经使用以下方式安装了 Apache麦金塔。它每隔一段时间就会崩溃,我需要手动重新启动它。

有没有办法让 Apache 在因某种原因死机时自动重启?也许可以使用launchd不知何故?

答案1

使用launchd启动 Apache,并使 Apache 在前台运行,以便launchd可以监视它并在它崩溃时重新启动它。由于系统包含一个launchd项目(/System/Library/LaunchDaemons/org.apache.httpd.plist)来启动内置版本的 Apache,我只需将其复制到/Library/LaunchDaemons,更改文件名和标签,以免launchd混淆,删除已禁用键,然后更改为指向 MacPorts 版本的 Apache。请务必将和参数ProgramArguments保留为,否则它将自行守护并启动另一个实例,并且不会完成任何有用的工作。-DFOREGROUNDhttpdlaunchd

(请遵循 @RedGrittyBrick 的建议,找到崩溃的真正原因。虽然这launchd是在 Mac OS X 上启动 Apache 等守护进程的“正确”方法,但它只是 Apache 遇到的任何问题的一个权宜之计。)

相关内容