Как найти и остановить процесс на Mac

Как найти и остановить процесс на Mac

Как узнать идентификатор процесса и остановить процесс, запущенный на порту 8080 на Mac?

В Ubuntu это работает:

ps -aux

и я могу найти процесс и запустить:

kill -9 pid

ps -auxпохоже, не сработало, как это сделать на Mac OS X Lion?

решение1

По историческим причинам psопции 's запутаны и непоследовательны. На OS X Lion любой из них должен работать:

ps -ax
ps -e
ps aux # this displays in a different format

У меня нет под рукой Ubuntu Box, чтобы протестировать, но согласностраница руководства, ps -auxэто тоже не правильный способ сделать это там:

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.

решение2

Если вы хотите найти и завершить все процессы, соответствующие строке, вы также можете использовать следующую команду на Mac OSX:

ps aux | grep <string> | awk '{print $1}' | <sudo> xargs kill -9

По сути, это приведет к тому, что будут найдены (grep) все процессы, запущенные в данный момент в вашей системе и соответствующие , AWK получит PID, который в команде PS находится во втором столбце, а последний столбец берет аргументы из AWK и завершает процессы.

Используйте SUDO только в том случае, если у текущего пользователя нет прав на завершение процесса и если у вас есть доступ SUDO в вашей системе.

решение3

ИспользоватьActivity Monitor.

Applications-> Utilities->Activity Monitor

решение4

Чтобы оставаться в курсе событий, для macOS:

ps -e | grep python | awk '{print "sudo kill -9",  $1}' | sh

Для Linux:

ps -ax | grep python | awk '{print "sudo kill -9",  $1}' | sh

Связанный контент