Я использую OS X El Capitan с настроенным Сервером (приложением), чтобы разрешить мне VPN-доступ к моей домашней сети. К сожалению, приложение Сервера решило запустить кучуhttpdпроцессы, которые теперь прослушивают порты 80, 443 и другие, даже несмотря на то, что настройки сервера дляВеб-сайтыявляетсяВЫКЛЮЧЕННЫЙи на этих портах не должны запускаться никакие службы.
Я не хочу или не нуждаюсь в этих службах, и хотел бы, чтобы httpd был выключен (или не запускался изначально). К сожалению, я не могу ни убить эти процессы (они просто перезапускаются сразу), ни управлять ими черезlaunchctl.
sudo lsof -i :80
httpd 422 root 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
httpd 425 _www 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
ps u 422
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 422 0.0 0.0 2457156 6136 ?? Ss 5:55PM 0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log
При попытке:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
Итак, как мне завершить эти процессы и освободить эти порты?
Я знаю, что здесь есть файл конфигурации для сервера Apache:/Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
Я могу удалить следующие строки, чтобы разблокировать эти порты, ноhttpdпроцессы все еще выполняются.
listen 80
listen 443
решение1
Служба прокси Apple — это служба, которая захватывает порты 80 и 443, поэтому вам нужно ее остановить.
sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
решение2
Вы можете остановить это с помощью команды:
sudo apachectl stop
решение3
Эта команда должна убить их всех:
sudo killall httpd
Они начнутся снова при следующей загрузке.
решение4
В случае, если другие находят этот вопрос, выполняя поискhttpdилипорт 80но у вас не запущен Server.app, вот решение для macOS Monterey 12.x и более поздних версий:
sudo launchctl bootout system/org.apache.httpd