Was Sie als "Fixiereinheit -v -n tcp" -Alternative unter Mac OS X verwenden


10

Der Befehl fuser unter Mac OS X ist eher primitiv und kann nicht nach Prozessen suchen, die einen bestimmten Port überwachen. Kennt jemand eine gute Alternative? Es reicht zu wissen, welcher Prozess an diesem einen Port lauscht.


1
Versuchen Siesudo lsof -i -P
vcsjones

Ich hatte den Eindruck, dass lsof` nur funktioniert, wenn eine Aufgabe tatsächlich mit dem Port verbunden ist. Außerdem würde man mindestens ein | grep portnoauch brauchen , um ein aussagekräftiges Ergebnis zu erzielen.
Martin

Antworten:


14

Wie @vcsjones in den Kommentaren sagte, lsofist das Werkzeug dafür:

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

Ohne das -iwerden alle geöffneten Dateien angezeigt. mit nur -izeigt es nur Netzwerkdateien; Wenn Sie nach dem etwas angeben, -ikönnen Sie Folgendes einschränken: IPv4 / 6, TCP / UDP, Hostname oder IP sowie Portnummer / Dienstname.


2
Nur für den Fall, dass es für jemanden wie mich nützlich ist, alle Prozesse blind über einen bestimmten Port lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs kill
abzubrechen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.