In welchen Szenarien wird der von einem Prozess verwendete Port nicht in der netstat -a
Ausgabe angezeigt.
Ich laufe jenkins
auf meiner Maschine. Es überwacht Port 8080. Ich versuche, einen anderen Prozess zu starten, der versucht, an denselben Port zu binden, und es schlägt fehl, dass der Port bereits verwendet wird.
Wenn ich das tue netstat -a | grep 8080
, wird es nicht in der Ausgabe angezeigt. Nachdem jenkins
ich meinen Prozess erfolgreich an 8080 gebunden habe. Gibt es Hinweise, was passiert?
Ich verwende CentOS.
netstat -lp
, Ihnen Prozesse zu zeigen , die zuhören .netstat -an | grep 8080
, falls 8080 in Ihrer/etc/services
Datei enthalten ist und durch seinen symbolischen Namen ersetzt wird.lsof -i :8080
Antworten:
Hatte gerade einen ähnlichen Fall unter Ubuntu 14.04. In der Tat ist Jenkins Standardport (8080) dem Namen "http-alt" in / etc / services zugeordnet. Sie können dies leicht mit überprüfen
Zusätzlich zu netstat können Sie die Verwendung von ss in Betracht ziehen
oder
quelle
Wenn alles richtig funktioniert, niemals. Wie oben erwähnt, können Sie Ihre Portnummer durch den Dienstnamen ersetzen lassen, wie in aufgeführt
/etc/services
.Durch
netstat -na
die Verwendung wird sichergestellt, dass Service-Ports nicht in Service-Namen übersetzt werden.quelle
Ich benutze immer:
Auf diese Weise werden Sie nichts verpassen.
quelle