Я установил Apache с помощью MacPorts. Это отказывает время от времени, и я должен вручную перезапустить его.
Существует ли способ заставить Apache автоматически перезапускать, если он умирает по некоторым причинам? Возможно, использование launchd
так или иначе?
Использовать launchd
запустить Apache и сделать Apache выполненным на переднем плане так launchd
может контролировать его и перезапустить его, если это отказывает. Так как система включает a launchd
объект (/System/Library/LaunchDaemons/org.apache.httpd.plist
) для запуска встроенной версии Apache я просто скопировал бы это в /Library/LaunchDaemons
, измените имя файла и Маркировку так launchd
не получит их перепутанный, удалит Отключенный ключ и изменение ProgramArguments
указать на версию MacPorts Apache. Обязательно сохраните -D
и FOREGROUND
аргументы httpd
, или это будет сам daemonize и launchd
запустит другой экземпляр, и ничто полезное не будет сделано.
(И действительно последуйте совету @RedGrittyBrick о нахождении фактической причины катастрофического отказа. В то время как launchd
"правильный" путь состоит в том, чтобы запустить демона как Apache на Mac OS X, это - просто лейкопластырь для любого проблемного Apache, имеет.)