Angesichts der Tatsache, dass sich die Leute an netstat
solche Operationen gewöhnt haben , ist es gut zu wissen, dass Linux ein weiteres großartiges (und tatsächlich überlegenes) Netzwerk-Tool hat - ss
. Um beispielsweise herauszufinden, welcher Prozess Port 80 geöffnet hat, führen Sie ihn folgendermaßen aus:
sudo ss -pt state listening 'sport = :80'
Es ist also nicht erforderlich, externe Filter durchzuleiten. Sicherlich hat es viel mehr nützliche Knöpfe, also machen Sie sich damit vertraut.
Der Vollständigkeit halber und seit kurzem bin ich auf Folgendes man fuser
gestoßen:
sudo fuser 80/tcp
- Dieser erspart Ihnen auch das Basteln an cut
/ grep
/ awk
… Beachten Sie, dass diese Notation eine Abkürzung ist. Falls es Unklarheiten gibt, sollten Sie einen der zulässigen Namespaces verwenden -n …
, zsudo fuser -n tcp 80
sudo lsof -n -sTCP:LISTEN -i:80
- wurde von @ wallenborn darauf hingewiesen . In der Zwischenzeit ist dies nicht unbedingt erforderlich. Es wird dringend empfohlen, da sonst eine DNS-Auflösung verwendet wird, die die Ausgabe normalerweise erheblich verlangsamt.-n
ls -l /proc/PID/exe
würde es zumindest tun. Und Sie meinen das aktuelle Arbeitsverzeichnis…/cwd
.Address already in use
bedeutet, dass ein anderer Prozess bereits Port 80 überwacht. Es kann jeweils nur ein Prozess einen bestimmten Port überwachen.Um den Prozess zu finden, führen Sie ihn als root aus:
Der beleidigende Prozess wird aufgelistet.
quelle
Eine andere Option mit weniger Tastenanschlägen ist lsof:
quelle
lsof -n -sTCP:LISTEN -i:22
sudo lsof -n -sTCP:LISTEN -i:80
. Und es ist besser,sudo
explizit zu verwenden, um zu betonen, dass der Benutzer möglicherweise keine korrekten Ergebnisse erzielen kann, wenn er nicht über überlegene Berechtigungen verfügt.Alter Thread, aber wer weiß, jemand hat das gleiche Problem wie ich. In Apache2 hatte ich mehr als eine Site aktiviert. In einer der Site-Konfigurationen (/ etc / apache2 / sites-available) war die erste Zeile
Dies verursachte einen Konflikt mit Apache selbst! Weil Port 80 bereits als globale Konfiguration abgehört wurde. Entfernen Sie einfach die 'listen 80' aus Ihrer Site.conf, wenn Apache Port 80 als Standardport hat.
quelle