
Wie kann ich die Prozess-ID finden und den Prozess stoppen, der auf Port 8080 auf einem Mac ausgeführt wird?
Unter Ubuntu funktioniert dies:
ps -aux
und ich kann den Prozess finden und ausführen:
kill -9 pid
ps -aux
schien nicht zu funktionieren, wie kann ich dies unter Mac OS X Lion machen?
Antwort1
Aus historischen Gründen ps
sind die Optionen von ein verworrenes und inkonsistentes Durcheinander. Unter OS X Lion sollte jede dieser Optionen funktionieren:
ps -ax
ps -e
ps aux # this displays in a different format
Ich habe keine Ubuntu-Box zur Hand, um sie zu testen, aber lautmanpageist ps -aux
auch dort nicht der richtige Weg:
Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX
standards require that "ps -aux" print all processes owned by a user
named "x", as well as printing all processes that would be selected by
the -a option. If the user named "x" does not exist, this ps may
interpret the command as "ps aux" instead and print a warning. This
behavior is intended to aid in transitioning old scripts and habits. It
is fragile, subject to change, and thus should not be relied upon.
Antwort2
Wenn Sie alle Prozesse finden und beenden möchten, die einer Zeichenfolge entsprechen, können Sie auf einem Mac OSX auch Folgendes verwenden:
ps aux | grep <string> | awk '{print $1}' | <sudo> xargs kill -9
Im Grunde werden hierdurch alle aktuell auf Ihrem System laufenden Prozesse gefunden (grep), die mit übereinstimmen. AWK ruft die PID ab, die im PS-Befehl die zweite Spalte ist, und die letzte übernimmt die Argumente von AWK und beendet die Prozesse.
Verwenden Sie SUDO nur, wenn der aktuelle Benutzer nicht über die Berechtigung zum Beenden eines Prozesses verfügt und Sie auf Ihrem System SUDO-Zugriff haben.
Antwort3
VerwendenActivity Monitor
.
Applications
-> Utilities
->Activity Monitor
Antwort4
Um auf dem neuesten Stand zu bleiben, für macOS:
ps -e | grep python | awk '{print "sudo kill -9", $1}' | sh
Für Linux:
ps -ax | grep python | awk '{print "sudo kill -9", $1}' | sh