Материал просмотрен 2,948 раз(а)

В отличае от top, которая выполняет мониторинг в режиме реального времени, работа программы ps во многом похожа на работу программы ls (даже из названия). Утилита ps мгновенно показывает список всех процессов, которые выполнялись на момент запуска этой программы. Кстати, утилита показывает и многие другие интересные значения!

Если запустить программу ps без аргументов, то она выведет список только тех процессов, которые принадлежат нам и которые присоединены к терминалу, что в общем-то не такой большой список. Расширить список процессов помогут дополнительные ключи программы:

-u для каждого процесса показывается имя пользователя, от которого запущен процесс;

-a показывает процессы всех пользователей, а не только текущего (полезно вместе с этим ключом указывать u, чтобы знать какому пользователю принадлежат эти процессы);

-x выводятся все процессы, а не только те, кто привязан к терминалу (то есть те, которые выполняются после того, как мы вошли в систему);

-w[w] каждая литера w соответствует отображению первых 132 символов, таким образом будет происходить вывод данных в широком формате, благодаря чему список уместится в несколько строк, а не будет усечён по ширине нашего терминала;

Комбинируя эти опции мы можем получить информацию нужной степени детализации (другие опции можно получить из справки # man ps).

Например, если будет исключена опция a, то мы увидим только свои процессы, если указать -U user, то увидим только процессы пользователя user.

Если список получается внушительный (не умещается в экран), то можно воспользоваться совместно с ps утилитой less

Например:

# ps aux | less

и вывод будет организован постранично (прокрутка по <Enter>, <Space>).

Для того, чтобы быстрее локализовать нужный процесс, полезно будет воспользоваться утилитой grep.

Например:

# ps aux | grep cron

найдёт те строки, в которых есть сочетание “cron”.

Процессы, выводимые командой ps сортируются по PID, а не по какой-либо другой метрике (конечно можно указать спецефическую опцию сортировки).

В каких случаях ps лучше top?

Утилита top полезна, когда нужно собрать общую информацию по нашим процессам, а ps больше ориентирована на просмотр PID спецефического процесса и всей командной строки каждого процесса. Разумеется, она работает быстрее top и позволяет написать сценарии со своим участием.