Подтвердить что ты не робот

Как я могу найти конкретный процесс с "вершиной" в терминале Mac

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

В 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.

Ответ 5

используйте ps вместо верхнего.

Ответ 6

Теперь вы можете использовать pgrep skype для поиска процесса.

Ответ 7

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

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

Ответ 8

Проверено на MacOSX Mojave. Он работает немного по-другому, чем Linux.

top -pid не ожидает список pids через запятую, он ожидает только один pid. Поэтому мне пришлось немного его изменить, чтобы работать с несколькими пидами.

top -pid $(pgrep -d' -pid ' -f Python)

фильтровать все процессы Python сверху. По сути, это выглядит примерно так:

top -pid 123 -pid 836 -pid 654