Мониторинг процессов из командной строки

Для просмотра активных процессов из интерфейса командной строки используются две основные команды - top и ps.

Примечание. Если вы еще не знакомы с навигацией по командной строке UNIX, доступной из программы Terminal, то мы настоятельно рекомендуем изучить концепции командной строки в Приложении Б перед чтением оставшейся части раздела.

top

Команда top называется так потому, что она обычно используется для вывода «верхних» процессов, которые используют больше всего ресурсов процессора. Однако по умолчанию в Lion команда top перечисляет процессы в обратном порядке по их идентификатору. Чтобы эта команда выполняла сортировку по степени использования процессора, нужно включить в нее опцию -и. Команда top забирает на себя управление окном Terminal, когда пользователь открывает ее. Чтобы вернуться к приглашению на ввод команд, нужно нажать клавишу (о]. Следующий код показывает вывод по умолчанию команды top. Обратите внимание на сходство с утилитой Мониторинг системы (Activity Monitor).

Являясь сокращением от process status (состояние процесса), команда ps перечисляет активные процессы, но не берет под свой контроль окно Terminal, как команда top. Иногда имеется так много активных процессов, что команда top просто не в состоянии показать их все на мониторе; в этой ситуации может оказаться полезной команда ps. Синтаксис команды: ps, далее следует список опций перечисления. Наиболее полезными опциями являются: -ах (показать все процессы), -с (показать только имя процесса вместо абсолютного пути доступа к процессу) и -и, за которым следует короткое имя пользователя (перечислить только те процессы, которые принадлежат этому пользователю). В следующем примере пользователь Michelle использует сначала команду ps с ключами -с и -и, чтобы сократить имя процесса и перечислить активные процессы, принадлежащие ее учетной записи пользователя. Затем она использует команду ps с опциями -ах, чтобы увидеть все активные процессы с полным именем пути доступа. Результат слишком длинный, поэтому мы оставили только 10 процессов.