Task Manager
Плагин Task Manager превращает запущенные процессы на вашем Mac в папку, которую можно просматривать. Он появляется как диск TaskManager в строке дисков; откройте его, и каждый процесс станет строкой, которую вы можете сортировать, изучать как файл или завершать — теми же клавишами, что вы уже используете для файлов. Поскольку это плагин, вы можете отключить или удалить его в разделе Конфигурация ▸ Плагины….
Открытие¶
- Щёлкните элемент 📊 TaskManager в строке дисков (он расположен сразу после вашего загрузочного диска).
- Панель заполняется одной строкой на каждый запущенный процесс. Имя каждой строки — это имя процесса, за которым следует его PID, например
Finder (462). - Кнопка TaskManager остаётся выбранной, пока вы внутри, а вкладка носит имя диска. Переключитесь на другую вкладку и обратно — или завершите и снова откройте приложение — и вкладка вернётся к списку процессов. Чтобы выйти, поднимитесь на уровень выше или щёлкните другой том в строке дисков.
(Рис.: запущенные процессы, показанные как список файлов, который вы можете сортировать и над которым можете действовать.)
Что означает каждая колонка¶
Рядом со столбцом Дата (время запуска) Task Manager добавляет столбцы процессов. Размер строки процесса показывает DIR, потому что процесс — это папка, которую можно открыть (см. ниже); у памяти есть собственные столбцы:
| Колонка | Значение |
|---|---|
| PID | Идентификатор процесса |
| CPU % | Недавнее использование процессора (появляется только после второго обновления) |
| Memory | Объём памяти (footprint) — то, за что отвечает этот процесс (число, которое показывает «Мониторинг системы») |
| Resident | Резидентный размер, включая общие страницы; заполняется для каждого процесса |
| Threads | Число потоков |
| State | R выполняется · S спит · T остановлен · Z зомби · I простаивает, плюс суффиксы, которые добавляет ps (s = лидер сеанса, + = передний план, N = низкий приоритет) |
| User | Владелец |
| PPID | Идентификатор родительского процесса |
| Read | Байты, прочитанные с диска с момента запуска процесса |
| Written | Байты, записанные на диск с момента запуска процесса |
| Wakeups | Пробуждения по прерываниям с момента запуска процесса |
| Signed | Кто подписал программу: Apple, команда с Developer ID, ad-hoc или без подписи |
| Command | Полная командная строка |
Сортируйте по любой колонке (например, CPU % или Размер/память) точно так же, как в обычной папке.
Изучение или завершение процесса¶
- Просмотр (F3) показывает отчёт Информация о процессе: имя, PID, родитель, пользователь, состояние, потоки, память, CPU, время запуска, путь к исполняемому файлу и полную командную строку.
- Удалить (F8) завершает процесс. Первое удаление отправляет мягкое завершение (SIGTERM); повторное удаление всё ещё работающего процесса переходит к принудительному завершению (SIGKILL). Плагин никогда не нацеливается на PID 1.
Поиск процессов, использующих файл¶
Щёлкните правой кнопкой мыши по любой строке, выберите Найти процессы по файлу… и введите путь к файлу. Каждый процесс, у которого этот файл сейчас открыт, будет выделен, а курсор перейдёт к первому из тех, кто может его изменить:
- Синий — процесс только читает файл.
- Оранжевый — процесс только пишет в него.
- Фиолетовый — процесс делает и то, и другое.
Путь подставляется из курсора в другой панели, так что можно указать файл там и задать вопрос без набора текста. Найти процесс по порту… в том же меню отвечает на родственный вопрос: какой процесс слушает порт TCP/UDP. Выберите Снять выделение файла, чтобы убрать цвета; выход из списка процессов тоже их убирает.
Откройте процесс и увидите его файлы¶
Нажмите Enter на процессе — или дважды щёлкните по нему — и панель покажет файлы, которые этот процесс держит открытыми сейчас, обычными строками файлов с настоящим размером и датой. Оттуда:
- Просмотр (F3) открывает сам файл.
- Перейти к файлу показывает его в другой панели, где с ним можно работать.
- Показать в Finder передаёт его Finder.
Считаются только открытые файлы: библиотека, которую процесс лишь отобразил в память, и его рабочий каталог открытыми файлами не являются. Процесс другого пользователя показывает пустую папку.
Примечания¶
- Основные сведения (PID, родитель, пользователь, состояние, подпись) читаются для каждого процесса. Объём памяти, потоки, дисковый ввод-вывод и список открытых файлов читаются для ваших собственных процессов, а это на обычном Mac большая часть списка. Для процессов других пользователей CPU и Resident заполняются из
ps— это среднее за всё время жизни, а не разница двух измерений, которую несут остальные строки, — а потоки и footprint остаются пустыми. - CPU % — это изменение между двумя выборками, поэтому оно пусто, пока панель не обновится второй раз (панель обновляется примерно каждые две секунды).
- Список доступен только для чтения, за исключением завершения процесса — вы не можете копировать в него файлы.
- Цвета выделения следуют вашей цветовой теме: палитра Norton использует вместо них зелёный, красный и пурпурный.
- Находятся только дескрипторы, в которые вашей учётной записи разрешено заглядывать, что на практике означает ваши собственные процессы. Библиотека, которую процесс лишь отобразил в память, и его рабочий каталог не являются открытыми дескрипторами и не сообщаются.
- Столбец Signed заполняется в первые секунды: чтение подписи занимает около миллисекунды, а разных программ сотни, поэтому за одно обновление читаются несколько и запоминаются. Пустая ячейка означает «ещё не прочитано», а не «без подписи».
- Signed говорит, кто подписал программу, а не заверена ли она нотариально: проверка заверения означает хеширование всей программы, что заняло бы секунды для каждой.
- Быстрый фильтр (Ctrl+S) здесь совпадает и со столбцами, а не только с именем, и терм может назвать столбец, к которому относится:
user:root state:Rспрашивает, что сейчас выполняет root. Термы разделяются пробелами, и совпасть должны все; текст, не называющий столбца, остаётся одной обычной подстрокой вместе с пробелами.