答案1
使用launchd
启动 Apache,并使 Apache 在前台运行,以便launchd
可以监视它并在它崩溃时重新启动它。由于系统包含一个launchd
项目(/System/Library/LaunchDaemons/org.apache.httpd.plist
)来启动内置版本的 Apache,我只需将其复制到/Library/LaunchDaemons
,更改文件名和标签,以免launchd
混淆,删除已禁用键,然后更改为指向 MacPorts 版本的 Apache。请务必将和参数ProgramArguments
保留为,否则它将自行守护并启动另一个实例,并且不会完成任何有用的工作。-D
FOREGROUND
httpd
launchd
(请遵循 @RedGrittyBrick 的建议,找到崩溃的真正原因。虽然这launchd
是在 Mac OS X 上启动 Apache 等守护进程的“正确”方法,但它只是 Apache 遇到的任何问题的一个权宜之计。)