Używam OS X El Capitan z serwerem (aplikacją) skonfigurowanym tak, aby umożliwić mi dostęp VPN do mojej sieci domowej. Niestety, aplikacja serwera zdecydowała się uruchomić kilka procesów httpd , które nasłuchują na portach 80, 443 i innych, mimo że ustawienia serwera dla stron internetowych są WYŁĄCZONE i nie należy uruchamiać żadnych usług na tych portach.
Nie chcę ani nie potrzebuję tych usług aktywnych i chciałbym, aby httpd został zamknięty (lub nie zaczynał od początku). Niestety nie mogę zabić tych procesów (po prostu restartują się od razu), ani też nie mogę kontrolować ich za pomocą 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
Podczas próby:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
Jak więc zakończyć te procesy i zwolnić te porty?
Wiem, że tutaj jest plik konfiguracyjny dla serwera Apache: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
Mogę usunąć następujące wiersze, aby odblokować te porty, ale procesy httpd nadal działają.
listen 80
listen 443
Możesz to zatrzymać za pomocą polecenia:
źródło
To polecenie powinno ich wszystkich zabić:
Rozpoczną się ponownie przy następnym uruchomieniu.
źródło