Dans depsite de personnes habituées à netstat
ce type d'opérations, il est bon de savoir que Linux a un autre excellent outil de réseautage (et, en fait, supérieur) - ss
. Par exemple, pour savoir quel processus a ouvert le port 80, exécutez-le de la manière suivante:
sudo ss -pt state listening 'sport = :80'
il n'est donc pas nécessaire de passer à travers des filtres externes. Certes, il a beaucoup plus de boutons utiles, alors familiarisez-vous avec lui.
Par souci d'exhaustivité et depuis récemment que je suis tombé sur man fuser
, je peux également mentionner:
sudo fuser 80/tcp
- celui-ci vous évite également de bricoler à cut
/ grep
/ awk
... gardez à l'esprit que cette notation est un raccourci, en cas d'ambiguïté, vous devez utiliser l'un des espaces de noms autorisés avec -n …
, commesudo fuser -n tcp 80
sudo lsof -n -sTCP:LISTEN -i:80
- a été souligné par @ wallenborn . En attendant, ce -n
n'est pas strictement requis, il est fortement conseillé car sinon il utilise la résolution DNS qui ralentit généralement terriblement la sortie.
ls -l /proc/PID/exe
ferait l'affaire. Et vous voulez dire son répertoire de travail actuel, voyez…/cwd
.Address already in use
signifie qu'un autre processus écoute déjà sur le port 80. Un seul processus peut écouter sur un port donné à la fois.Pour trouver le processus, exécutez en tant que root:
Le processus incriminé sera répertorié.
la source
Lsof est une autre option avec moins de frappes:
la source
lsof -n -sTCP:LISTEN -i:22
sudo lsof -n -sTCP:LISTEN -i:80
. Et il est préférable d'utilisersudo
explicitement pour souligner que, à moins que l'utilisateur n'ait des autorisations supérieures, il ne puisse pas obtenir de résultats corrects.Vieux fil mais qui sait, quelqu'un a le même problème que moi. Dans Apache2, j'avais plus d'un site activé. Dans l'une des configurations de site (/ etc / apache2 / sites-available), la première ligne était
Cela a provoqué un conflit avec Apache lui-même! Parce qu'il écoutait déjà sur le port 80 en tant que configuration globale. Supprimez simplement le "listen 80" de yoursite.conf si Apache a le port 80 comme port par défaut.
la source