Я перебуваю на новому встановленні 10.9, і сервер Apache за замовчуванням є org.apache.httpd: Already loaded
після кожного запуску. Чи є спосіб відключити автозапуск?
Я перебуваю на новому встановленні 10.9, і сервер Apache за замовчуванням є org.apache.httpd: Already loaded
після кожного запуску. Чи є спосіб відключити автозапуск?
Відповіді:
OS X забезпечує launchctl
контроль того, які демони запускаються під час завантаження.
Щоб зупинити та відключити Apache:
Введіть таку команду (введіть пароль для входу, коли sudo
це вимагається):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Кілька слів на варіант launchctl
's-w
-w
Варіантом є панацеєю для зупинки / відключення Apache. Він повідомляє launchctl
виконувати свою роботу незалежно від будь-яких налаштувань конфігурації, які в протилежному випадку не дозволять їй розвантажувати послугу, як це пояснено у man launchctl
:
-w Overrides the Disabled key and sets it to false or true for the load and
unload subcommands respectively. In previous versions, this option would
modify the configuration file. Now the state of the Disabled key is stored
elsewhere on- disk in a location that may not be directly manipulated by any
process other than launchd.
(Виявляється, в OS X Mavericks (10.9) "деінде на диску" є /private/var/db/launchd.db/com.apple.launchd/overrides.plist
.)
Цей -w
параметр незамінний, якщо ви розпочали роботу з Apache apachectl start
: як пояснено у цій відповіді Superuser . apachectl
не тільки запускає Apache, але і модифікує /private/var/db/launchd.db/com.apple.launchd/overrides.plist
так:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
У цьому конкретному випадку ви також можете використовувати apachectl
:
sudo apachectl stop
щоб зупинити Apache і встановити Disabled
в true
.
-w
: sudo launchctl -w unload ...
. Якщо це не допомагає, чи можете ви розмістити вихід ps -ef|grep httpd|grep -v grep
?
-w
раніше, такий же результат. Ось вихід: pastebin.com/h14t8fEv
sudo launchctl1 ...
повертається повідомлення про помилку? Чи можете ви розмістити вихід grep apache /var/log/com.apple.launchd/launchd-shutdown.system.log
і sudo grep apache /var/log/system.log
?
sudo: launchctl1: command not found
і ось вихід: pastebin.com/raw.php?i=zxKvYV4i
sudo apachectl start
запускаю демон, запускається, знову активується після перезавантаження.