У меня новая версия 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
поводу -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
: как описано в этом ответе суперпользователя . 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
.
sudo apachectl start
запускаю демон запуска, после перезапуска он снова активируется.-w
:sudo launchctl -w unload ...
. Если это не поможет, вы можете опубликовать выводps -ef|grep httpd|grep -v grep
?-w
раньше, тот же результат. Вот вывод: pastebin.com/h14t8fEvsudo 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