Comment arrêter l'exécution de httpd sous Mac OS X (10.11) El Capitan Server?


30

J'utilise OS X El Capitan avec le serveur (application) configuré pour me permettre l'accès VPN à mon réseau domestique. Malheureusement, l'application serveur a décidé de démarrer un tas de processus httpd , qui écoutent maintenant sur les ports 80, 443 et autres, même si les paramètres du serveur pour les sites Web sont désactivés et qu'aucun service ne doit être démarré sur ces ports.

Je ne veux pas ou n'ai pas besoin de ces services actifs et je voudrais que httpd soit arrêté (ou ne commence pas par commencer). Malheureusement, je ne peux ni tuer ces processus (ils redémarrent tout de suite), ni les contrôler via 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

En essayant:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service

Alors, comment puis-je terminer ces processus et libérer ces ports?

Je sais qu'il y a un fichier de configuration pour le serveur apache ici: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Je peux supprimer les lignes suivantes pour débloquer ces ports, mais les processus httpd sont toujours en cours d'exécution.

listen 80
listen 443

Réponses:


23

Le service proxy Apple est le service qui récupère les ports 80 et 443, vous devez donc arrêter celui-ci.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist

3
Cela s'est avéré être exactement la solution pour moi. "sudo apachectl stop" a juste donné la même erreur que launchctl.
Kosmonaut


8

Cette commande devrait tous les tuer:

sudo killall httpd

Ils recommenceront au prochain démarrage.


3
Je n'ai pas diminué non plus, mais cela peut avoir à voir avec le fait que j'ai mentionné qu'il est inutile de tuer les processus, car ils sont redémarrés automatiquement.
Chris

étonnamment, après avoir essayé toutes les autres méthodes ... celle-ci a fonctionné ... pour une raison quelconque, le démon est resté en vie après avoir été déchargé et tué de toute autre manière, celui-ci l'a nettoyé
Ray Foss
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.