Я пробовал top | grep skype
например, но это не сработало. Я пытаюсь найти определенный процесс по имени.
Как я могу найти конкретный процесс с "вершиной" в терминале Mac
Ответ 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