Die Verwendung von Unix-Dienstprogrammen unter Mac OS X ist sehr schmerzhaft. port install coreutils +with_default_names
und ein paar andere solche Ersetzungen beheben die meisten von ihnen, aber es bleiben einige in defekten Mac OS X-Standardeinstellungen - am ärgerlichsten top
und netstat
, aber ich bin sicher, ich könnte mir ein paar mehr vorstellen.
Ich vermute, dass Befehle wie top
und netstat
ziemlich betriebssystemspezifisch sind, also funktioniert es nicht, nur die Quellen ihrer Linux-Entsprechungen zu greifen und neu zu kompilieren.
Was ist das beste Äquivalent zu diesen und anderen Befehlen, die unter Mac OS X funktionieren?
Antworten:
Viele netstat-Funktionen können durch einen lsof- Befehl ersetzt werden. Ich habe oft benutzt
um herauszufinden, wer Port 1234 abgehört hat. Mit lsof (das auf beiden Systemen verfügbar ist) kann ich Folgendes tun:
Der oberste Befehl unter OSX ist auch nicht schlecht, er ist nur anders. Und ich bin mir ziemlich sicher, dass einige der Messdaten nur auf dem Mac sinnvoll sind.
Beachten Sie,
lsof -Pi :1234
dass dies etwas schneller sein sollte, wenn Sie nicht versuchen, die Dienstnamen (der Ports) aufzulösen.quelle
lsof
ist bessernetstat
als OSXnetstat
, danke.-P
, um die Namensauflösung zu verhindern und sie zu beschleunigen. Also Linuxnetstat -ntlp
irgendwie mögenlsof -Pi | grep -i listen
. Ich weiß immer noch nicht, wie mehrere PIDs denselben Port überwachen können, was ich unter Linux nicht sehe: /Oh cool,
htop
ist in Homebrew! Ich denke, es ist kein Klon von Linux,top
aber wenn Sie sich fürhtop
Linux entscheiden, dann isthtop
OS X sicher nicht zu weit entfernt.quelle