Nie można zwolnić natywnego apache macOS Mojave przy użyciu launchctl

1

Mam świeżą instalację MacOS Mojave 10.14. Próbuję zamknąć i usunąć automatyczne ładowanie skryptów dla apache.

$ httpd -v
Server version: Apache/2.4.34 (Unix)
Server built:   Aug 17 2018 16:29:43

$ sudo apachectl stop

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

Po ponownym uruchomieniu komputera otwieram przeglądarkę, przechodzę do localhost i nadal pokazuje „działa”. Co powinienem zrobić, aby system operacyjny przestał uruchamiać apache przy ponownym uruchomieniu? Czy coś brakuje?

gwvoigt
źródło
1
Dlaczego odrzucasz błędy z sudo launchctl unloadpolecenia? Co wydrukuje, jeśli uruchomisz go bez odrzucania wyjścia błędu?
Gordon Davisson
Próbowałem też nie usuwając błędów unload, ale nie otrzymałem też żadnych danych wyjściowych. Ponownie uruchomiłem komputer wiele razy, a apache nadal działał i otrzymałem odpowiedź w przeglądarce. Co ciekawe, dzisiaj uruchomiłem komputer (faktycznie wyłączyłem / włączyłem) i apache nie działał. Nie mam pojęcia, dlaczego nadal się ładuje po ponownym uruchomieniu.
gwvoigt
czy kiedykolwiek instalowałeś apache (httpd) z homebrew? w ten sposób na twoim komputerze Mac może znajdować się wiele serwerów Apache
Shiji.J

Odpowiedzi:

0

Po uruchomieniu polecenia… sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist… Otrzymuję następujący błąd:

/System/Library/LaunchDaemons/org.apache.httpd.plist: Nie można znaleźć określonej usługi

Próba ręcznego usunięcia pliku również kończy się niepowodzeniem; wierzę więc, że jest to chronione przez SIP. Byłem w stanie wyłączyć SIP, a polecenie wciąż nie działało. Właśnie usunąłem plik plist, aby proces nie zaczął się. To prawdopodobnie NIE jest preferowana metoda.

użytkownik 28150
źródło