Как я могу найти определенный процесс с «верхом» в терминале Mac - PullRequest
34 голосов
/ 21 сентября 2011

Например, я пробовал top | grep skype, но это не работает. Я пытаюсь найти конкретный процесс по имени.

Ответы [ 7 ]

55 голосов
/ 21 сентября 2011

Используйте это вместо: ps -ax | grep -i skype

10 голосов
/ 21 сентября 2011

Использование: top -l 0 | grep Skype

0 для бесконечных выборок. Вы также можете ограничить количество образцов положительным числом.

6 голосов
/ 01 октября 2013

В Linux команда top поддерживает параметр -p для мониторинга определенных идентификаторов PID.В MacOS опция -p называется -pid.

# Get the PID of the process
pgrep Skype

# Then
top -pid <put PID here>

# Or more succinctly:
top -pid `pgrep Skype`

Если вы делаете это много, вы можете превратить это в функцию и добавить ее в ~/.bash_profile:

# Add this to ~/.bash_profile
function topgrep() {
    if [[ $# -ne 1 ]]; then 
        echo "Usage: topgrep <expression>"
    else 
        top -pid `pgrep $1`
    fi
}

Теперь вы можете просто использовать вместо него topgrep Skype, который будет работать как обычно, но будет отображать только процессы, соответствующие expression.

6 голосов
/ 21 сентября 2011

если вы действительно любите топ, вы можете попробовать:

top -b -n 1 | grep skype

например

kent$  top -b -n 1 |grep dropbox
 4039 kent      20   0  184m  14m 5464 S    0  0.4   0:58.30 dropbox
2 голосов
/ 21 сентября 2011

используйте ps вместо top.

1 голос
/ 13 июля 2016

Теперь вы можете использовать pgrep skype, чтобы найти процесс.

0 голосов
/ 04 января 2017

Я бы рекомендовал использовать ps -ax | less

Из less вы можете ввести / skype Введите для поиска процессов с именами, содержащими "skype".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...