Команда Ps в Linux

Обновлено: 23.11.2024

Здравствуйте, ребята! Прошло много времени с тех пор, как я писал о команде Linux в этом блоге. В моей последней статье я поделился бесплатными курсами по Linux для начинающих, которые понравились многим из вас, ребята, поэтому я пишу еще один пост о Linux, на этот раз о команде «ps». Если вы работали на машине с Linux, вы, вероятно, знакомы с командой «ps». Команда «ps» используется для проверки состояния процесса. Это означает «статистика процесса», и вы можете использовать команду ps, чтобы увидеть все процессы и найти такие вещи, как PID, которые можно использовать для взаимодействия с процессом. Например, вы можете убить процесс, передав команду PID для уничтожения в Linux, как показано здесь.

Если вы хотите изучить команду ps и ищете примеры, то вы попали по адресу. Ранее я поделился 10 примерами некоторых основных команд Linux, таких как find, grep, lsof, curl, chmod и т. д., а в этой статье я поделюсь некоторыми часто используемыми примерами команды «ps» в Linux.

Вы можете использовать эти примеры как есть или комбинировать их с grep и другими командами для извлечения полезной информации о ваших процессах. Я также поделюсь некоторыми полезными параметрами командной строки ps, такими как «ps -ef» и «ps -auxxx», которые вы можете использовать, чтобы найти полный аргумент командной строки, используемый для запуска процесса.

Они также являются наиболее распространенным способом использования команды ps в Linux. Кстати, если вы новичок в Linux, я настоятельно рекомендую вам пройти эти лучшие курсы Linux для начинающих от Coursera и Udemy, чтобы изучить все основные команды Linux, которые должен изучить каждый разработчик.

10 примеров использования команды ps в Linux и UNIX

1. ps -fu пример

Это один из наиболее полезных примеров команды ps, который можно использовать для просмотра всех процессов, запущенных под определенным именем пользователя, в данном случае под его именем пользователя app_dev. Здесь мы использовали два параметра командной строки ps -f и -u, -f означает полный, что означает, что он печатает все детали, а -u означает пользователя, что означает, что он будет печатать все процессы, принадлежащие или запущенные конкретным пользователем. имя пользователя.

2. ps + пример grep

Это мой любимый экзамен по командам ps, который можно использовать для поиска всех процессов Java на хосте UNIX. Эта команда выводит список всех процессов, и, поскольку она использует -e и -fit, также печатает полную команду, которая используется для запуска процесса. Это означает, что если это процесс Java, то команда java будет присутствовать в выводе, и это то, что мы ищем с помощью команды grep.

Вы можете изменить условие фильтрации в grep, чтобы найти любой процесс. Например, я часто заменяю "java" на "tomcat", чтобы найти все запущенные экземпляры tomcat в коробке.

3. !ps пример

Ярлык для запуска последней команды ps. Вы можете использовать эту команду, чтобы найти последний идентифицированный вами процесс. Вам не нужно снова указывать все параметры командной строки, Linux подберет их из последнего экземпляра команды ps, которую вы запустили.

4. пс-эф | пример с туалетом

Это еще один распространенный пример использования команды ps в Linux. Вы можете использовать эту команду ps, чтобы узнать количество процессов, запущенных на вашем сервере Linux. Это в основном используется системными администраторами и пользователями root, чтобы проверить, не слишком ли много процессов запущено на хосте или нет. Опять же, здесь мы использовали опции -e и -f команды ps, которая печатает все процессы с полной информацией. Затем выходные данные передаются команде wc, которая подсчитывает количество строк с помощью параметра -l.

5. пример команды ps -ef

Это самый популярный пример команды ps, а также мой любимый. Я использовал эту команду ps, чтобы увидеть полные аргументы командной строки, используемые для запуска процесса для каждого пользователя на сервере Linux. Я почти использовал его много раз в день, часто с командой grep, как показано во втором примере в этом списке, чтобы узнать, запущен ли конкретный серверный процесс или нет, и его PID, чтобы дополнительно выяснить, какие порты принадлежат этому процессу и так далее.

Вы можете найти не только PID процесса, но и точную команду, которая используется для запуска процесса, как показано в столбце «CMD». Команда "ps -ef" также показывает процесс, которым владеет каждый пользователь. "-e" и "-f" для полного.

6. пример команды ps

Это пример команды simples ps для просмотра процесса для текущего пользователя. Здесь мы не использовали параметр -u в отличие от предыдущего примера, поэтому будут отображаться все процессы текущего пользователя.

7. ps -f пример

Это еще один пример команды ps для просмотра полной информации обо всех процессах для текущих пользователей. Здесь мы использовали параметр -f, который покажет все столбцы, которые может вывести команда ps, но не покажет все процессы, запущенные на хосте, вместо этого он просто покажет процесс для текущего пользователя.


Аргумент -f указывает команде ps предоставить полную информацию о отображаемых процессах.В этом примере ps отображает полную информацию о запущенных вами процессах. Вы также можете просмотреть эти онлайн-курсы по командной строке Linux, чтобы узнать о команде ps.

8. ps -e пример


Теперь вы также можете понять, почему "ps -ef" показывает полную информацию о каждом пользователе, потому что мы объединили опции "-e" и "-f", которые обозначают все и полную информацию. Этот параметр настолько популярен, что я всегда использую эту команду ps, чтобы найти любой процесс в Linux, за которым следует команда grep.

9. ps -ef пример

Еще один популярный пример команды ps для просмотра процесса для конкретного пользователя Linux. Эта команда ps показывает полную информацию о процессах, запущенных в данный момент пользователем с именем «user», вы можете указать любого пользователя с помощью команды «-u»

10. пример ps -auxwww

Это еще один распространенный пример команды ps, которую многие разработчики и ИТ-специалисты используют для проверки того, запущен ли конкретный процесс. Это команда ps для отображения полных аргументов для очень длинных команд, используемых для запуска процесса.

Разница между командами ps -ef и ps -auxwww?

Это один из самых популярных вопросов на собеседованиях по Linux, его мне задавали почти 3–4 раза, и я также задаю этот вопрос почти каждому человеку, с которым беседую, поскольку он очень полезен при устранении неполадок. Последний показывает очень длинную командную строку, а первый усекает их.

Иногда конкретный процесс с очень длинной командой не захватывается командой ps -ef, вместо этого он перехватывается командой ps -auxwww. Поэтому всегда лучше использовать процесс ps -auxwww при устранении неполадок, особенно если вы не видите процесс после запуска команды ps -ef.

П. S. — Если вы ищете бесплатные курсы для изучения или улучшения своих навыков работы с Linux, вам следует ознакомиться со списком бесплатных курсов по Linux для программистов и разработчиков.

Команда «ps» в Linux — это сокращение от «состояние процесса». Он используется для получения информации о процессах, запущенных в вашей системе. Вывод этой команды может варьироваться в зависимости от используемых с ней параметров. Однако в этой статье мы намерены научить вас основам использования команды «ps» в Linux с помощью нескольких примеров.

Общий синтаксис команды «ps» в Linux

Общий синтаксис команды «ps» в Linux приведен ниже:

Есть определенные параметры, используемые с командой «ps», которые можно найти в ее «справочном» руководстве. Однако эту команду можно выполнить и самостоятельно без каких-либо ошибок.

Справочное руководство по команде «ps» в Linux

Если вы хотите узнать о правильном использовании команды «ps», прежде чем переходить к ее примерам, вы можете получить доступ к ее «справочному» руководству с помощью следующей команды:

Вы можете увидеть «справку» по команде «ps» на изображении, приведенном ниже:

Примеры использования команды «ps» в Linux

Теперь мы поделимся с вами несколькими примерами использования команды «ps» в Linux.

Пример 1: Отображение процессов, запущенных в текущей оболочке
Если вы хотите отобразить процессы, запущенные в текущей оболочке, вам следует выполнить команду «ps» без каких-либо параметров следующим образом:

Процессы, запущенные в текущей оболочке нашей системы Linux, показаны на изображении ниже:

Пример 2. Отображение всех запущенных в данный момент процессов
Вы также можете вывести список всех запущенных в данный момент процессов вашей системы Linux с помощью следующей команды:

Все запущенные в данный момент процессы нашей системы Linux показаны на изображении ниже:

Пример 3: отображение всех процессов, связанных с текущим терминалом
Есть определенные процессы, связанные с текущим сеансом терминала. Если вы хотите просмотреть все такие процессы вашего текущего терминального сеанса, вы можете выполнить следующую команду:

Все процессы, связанные с нашим текущим сеансом терминала, показаны на изображении ниже:

Пример 4: Отображение всех процессов, связанных с конкретным пользователем
Вы даже можете перечислить все процессы, связанные с конкретным пользователем вашей системы Linux. Для этого вы можете выполнить следующую команду:

Здесь вы можете заменить UserName на имя пользователя, связанные процессы которого вы хотите перечислить. Например, в нашем случае мы заменили его на «kbuzdar».

Все процессы, связанные с указанным пользователем нашей системы Linux, показаны на изображении ниже:

Пример 5: Отображение всех процессов, связанных с определенной группой пользователей
Подобно приведенному выше примеру, некоторые процессы связаны с определенной группой пользователей вашей системы Linux. Вы даже можете перечислить эти процессы, выполнив следующую команду:

Здесь вы можете заменить UserGroupName на имя группы пользователей, связанные процессы которой вы хотите перечислить. Например, в нашем случае мы заменили его на «root».

Все процессы, связанные с указанной группой пользователей нашей системы Linux, показаны на изображении ниже:

Заключение

Изучив сегодняшнее руководство, вы сможете получить общее представление об использовании команды «ps» в Linux. Как только вы изучите основы, вы сможете быстро освоить использование этой команды, многократно используя ее при выполнении рутинных задач в среде Linux.

Об авторе

Карим Буздар

Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Он ведет блог на LinuxWays.

Команда ps, сокращенно от Process Status, представляет собой утилиту командной строки, которая используется для отображения или просмотра информации, относящейся к процессам, запущенным в системе Linux.

Как мы все знаем, Linux — это многозадачная и многопроцессорная система. Таким образом, несколько процессов могут выполняться одновременно, не влияя друг на друга.

Команда ps выводит список текущих запущенных процессов вместе с их PID и другими атрибутами. В этом руководстве мы сосредоточимся на использовании команды ps.

Он извлекает информацию о процессах из виртуальных файлов, расположенных в файловой системе /proc

команда ps без аргументов

Команда ps без аргументов выводит список запущенных процессов в текущей оболочке

Вывод

Вывод состоит из четырех столбцов

PID — это уникальный идентификатор процесса

TTY — это тип терминала, на который пользователь вошел в систему

ВРЕМЯ — это время в минутах и ​​секундах, в течение которого выполнялся процесс

CMD — команда, которая запустила процесс

Просмотр всех запущенных процессов в разных форматах

Чтобы просмотреть все запущенные процессы, выполните приведенную ниже команду

Вывод

Вывод

Просмотр процессов, связанных с терминалом

Чтобы просмотреть процессы, связанные с запуском терминала

Вывод

Просмотр процессов, не связанных с терминалом

Чтобы просмотреть все процессы, кроме процессов, связанных с терминалом и лидерами сеансов
выполнить

Лидер сеанса — это процесс, который запускает другие процессы

Вывод

Показать все текущие запущенные процессы

Чтобы просмотреть выполнение всех текущих процессов

Вывод

-a флаг обозначает все процессы
-x отобразит все процессы, даже те, которые не связаны с текущим tty

Отобразить все процессы в формате BSD

Если вы хотите отобразить процессы в формате BSD, выполните

Вывод

Для выполнения полноформатного листинга

Чтобы просмотреть список в полном формате, запустите

Вывод

Фильтрация процессов по пользователю

Если вы хотите перечислить процессы, связанные с конкретным пользователем, используйте флаг -u, как показано

Вывод

Отфильтровать процесс по потоку

Если вы хотите узнать поток определенного процесса, используйте флаг -L, за которым следует PID

Вывод

Показать все процессы, запущенные с правами root

Иногда может потребоваться показать все процессы, запущенные пользователем root. Чтобы выполнить этот запуск

Вывод

Показать групповые процессы

Если вы хотите вывести список всех процессов, связанных с определенной группой, запустите

Вывод

PID процесса поиска

Скорее всего, PID процесса обычно неизвестен. Вы можете найти PID процесса,
запустив

Вывод

Список процессов по PID

Вы можете отображать процессы по их PID, как показано

Вывод

Чтобы отобразить иерархию процессов на древовидной диаграмме

Обычно большинство процессов являются ответвлениями от родительских процессов. Знакомство с этими детско-родительскими отношениями
может оказаться полезным. Команда ниже ищет процессы с именем apache2

Вывод

Отображать дочерние процессы родительского процесса

Например, если вы хотите отобразить все разветвленные процессы, принадлежащие apache, выполните

Вывод

Первый процесс, которым владеет root, является основным процессом apache2, а остальные процессы
разветвлены из этого основного процесса

Чтобы отобразить все дочерние процессы apache2, используя pid основного процесса apache2, выполните

Вывод

Отображать цепочки процессов

Команду ps можно использовать для просмотра потоков вместе с процессами.

Приведенная ниже команда отображает все потоки, принадлежащие процессу с PID pid_no

Вывод

Отобразить выбранный список столбцов

Вы можете использовать команду ps для отображения только тех столбцов, которые вам нужны.

Приведенная выше команда отобразит только столбцы PID, имени пользователя, процессора, памяти и команд

Вывод

Переименование меток столбцов

Чтобы переименовать метки столбцов, выполните приведенную ниже команду

Вывод

Отображать прошедшее время процессов

Прошедшее время показывает, как долго выполнялся процесс

Вывод

Опция -o включает столбец для прошедшего времени

Использование команды ps с grep

команду ps можно использовать с командой grep для поиска определенного процесса

ps (состояние процессов) — это родная утилита Unix/Linux для просмотра информации о выбранных запущенных процессах в системе: она считывает эту информацию из виртуальных файлов в файловой системе /proc. Это одна из важных утилит для системного администрирования, особенно при мониторинге процессов, помогающая понять, что происходит в системе Linux.

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

В этой статье мы рассмотрим 30 полезных примеров команд ps для мониторинга активных запущенных процессов в системе Linux.

Обратите внимание, что ps выводит вывод со строкой заголовка, которая представляет значение каждого столбца информации. Вы можете найти значение всех меток на справочной странице ps.

Список всех процессов в текущей оболочке

<р>1. Если вы запустите команду ps без каких-либо аргументов, она отобразит процессы для текущей оболочки.

Печатать все процессы в разных форматах

<р>2. Отображать каждый активный процесс в системе Linux в универсальном (Unix/Linux) формате.

<р>3. Показать все процессы в формате BSD.

<р>4. Чтобы выполнить полноформатный листинг, добавьте флаг -f или -F.

Отображение запущенных пользователем процессов

<р>5. Вы можете выбрать все процессы, принадлежащие вам (исполнитель команды ps, root в данном случае), введите:

<р>6. Чтобы отобразить процессы пользователя по реальному идентификатору пользователя (RUID) или имени, используйте флаг -U.

<р>7. Чтобы выбрать процессы пользователя по эффективному идентификатору пользователя (EUID) или имени, используйте параметр -u.

Вывести все процессы, запущенные с правами root (настоящий и эффективный идентификатор)

<р>8. Приведенная ниже команда позволяет просматривать каждый процесс, запущенный с привилегиями пользователя root (настоящий и эффективный идентификатор) в пользовательском формате.

Показать групповые процессы

<р>9. Если вы хотите вывести список всех процессов, принадлежащих определенной группе (реальный идентификатор группы (RGID) или имя), введите.

<р>10. Чтобы вывести список всех процессов, принадлежащих действующему имени группы (или сеансу), введите

Отображение процессов по PID и PPID

<р>11. Вы можете перечислить процессы по PID следующим образом.

<р>12. Чтобы выбрать процесс по PPID, введите

<р>13. Сделайте выбор, используя список PID.

Отображение процессов по TTY

<р>14. Чтобы выбрать процессы по tty, используйте флаг -t следующим образом.

Дерево процессов печати

<р>15. Дерево процессов показывает, как процессы в системе связаны друг с другом; процессы, родительские процессы которых были уничтожены, принимаются init (или systemd).

<р>16. Вы также можете распечатать дерево процессов для данного процесса, как это.

Печатать цепочки процессов

<р>17. Чтобы распечатать все потоки процесса, используйте флаг -L, это покажет столбцы LWP (облегченный процесс) и NLWP (количество облегченных процессов).

Указать пользовательский формат вывода

Используя параметры -o или –format, ps позволяет создавать пользовательские форматы вывода, как показано ниже.

<р>18. Чтобы перечислить все спецификаторы формата, включите флаг L.

<р>19. Приведенная ниже команда позволяет просмотреть PID, PPID, имя пользователя и команду процесса.

<р>20. Ниже приведен еще один пример пользовательского формата вывода, показывающий группу файловой системы, значение nice, время начала и прошедшее время процесса.

Отображение родительских и дочерних процессов

22. Чтобы выбрать конкретный процесс по его имени, используйте флаг -C, это также отобразит все его дочерние процессы.

23. Найдите все PID всех экземпляров процесса, что полезно при написании скриптов, которым необходимо считывать PID из стандартного вывода или файла.

24. Проверить время выполнения процесса.

Устранение неполадок с производительностью системы Linux

Если ваша система не работает должным образом, например, если она необычно медленная, вы можете выполнить некоторые действия по устранению неполадок системы следующим образом.

26. Найдите наиболее запущенные процессы по максимальной загрузке памяти и ЦП в Linux.

27. Чтобы убить процессы Linux/неотвечающие приложения или любой процесс, потребляющий много процессорного времени.

Сначала найдите PID не отвечающего процесса или приложения.

Затем используйте команду kill, чтобы немедленно остановить его.

Распечатать информацию о безопасности

28. Показать контекст безопасности (специально для SELinux) следующим образом.

29. С помощью этой команды вы также можете отобразить информацию о безопасности в пользовательском формате.

Выполнение мониторинга процессов в режиме реального времени с помощью Watch Utility

<р>30.Наконец, поскольку ps отображает статическую информацию, вы можете использовать утилиту watch для мониторинга процесса в реальном времени с повторяющимся выводом, отображаемым через каждую секунду, как в приведенной ниже команде (укажите пользовательскую команду ps для достижения вашей цели).

Важно: ps показывает только статическую информацию, для просмотра часто обновляемого вывода можно использовать такие инструменты, как htop; top и взгляды: последние два на самом деле являются инструментами мониторинга производительности системы Linux.

Вы также можете прочитать следующие статьи по теме.

На этом пока все. Если у вас есть полезные примеры команд ps, которыми вы можете поделиться (не забывая объяснить, что они делают), используйте форму комментариев ниже.

Если вам понравилась эта статья, подпишитесь на уведомления по электронной почте о руководствах по Linux. Если у вас есть вопросы или сомнения? обратитесь за помощью в разделе комментариев.

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

12 мыслей о «30 полезных примеров команды ps для мониторинга процессов Linux»

Другая ошибка «17. Чтобы распечатать все потоки процесса, используйте флаг -H, это покажет столбцы LWP (облегченный процесс) и NLWP (количество облегченных процессов)». – Должно быть «-L».

Спасибо, поправил команду в статье…

О «14. Чтобы выбрать процессы по tty, используйте флаг -t следующим образом».

Первые две команды неверны, должно быть «pst», а не «pts» (на экране все отображается нормально)

Мне очень нравится читать и учиться на ваших уроках

холодного пива для вас!

Еще раз спасибо, поправил команды в статье…

На снимке экрана в «12. Выбрать процесс по PPID».

В тексте вы написали:

Но на снимке экрана есть: «ps -f –pid 1154», и процесс с этим PID

Спасибо, я проверю и исправлю команду со скриншотом…

Мне нужно получить доступ к каждому из процессов (pid нельзя использовать в качестве уникального идентификатора, так как он нужен нам для процедуры обучения) счетчику циклов процессора. И сохранить его в массиве или любой другой структуре данных. Могу ли я написать такую ​​программу на C.

Да, можете. Посмотрите документацию по C, чтобы узнать, как этого добиться.

Начал запускать процесс на экране, есть вопрос, как присоединиться к процессу на экране.

Читайте также: