Команда Ps в Linux

Обновлено: 02.07.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.

примеры команд ps в Linux

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 без аргументов выводит список запущенных процессов в текущей оболочке

Вывод

ps command

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

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

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

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

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

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

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

Вывод

ps -A команда

Вывод

ps -e команда

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

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

Вывод

ps -T команда

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

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

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

Вывод

ps -a command

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

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

Вывод

ps -ax команда

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

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

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

Вывод

ps aux

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

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

Вывод

ps -ef команда

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

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

Вывод

ps-u имя пользователя команда» ширина = «553» высота = «420» /><br /></p>
<h2>Отфильтровать процесс по потоку</h2>
<p>Если вы хотите узнать поток определенного процесса, используйте флаг -L, за которым следует PID</p>
<p>Вывод</p>
<p><img class=

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

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

Вывод

ps -fG group_name

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

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

Вывод

ps -c имя процесса

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

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

Вывод

ps -fp PID команда» ширина = «560» высота = «62» /><br /></p>
<h2>Чтобы отобразить иерархию процессов на древовидной диаграмме</h2>
<p>Обычно большинство процессов являются ответвлениями от родительских процессов. Знакомство с этими детско-родительскими отношениями <br />может оказаться полезным. Команда ниже ищет процессы с именем apache2</p>
<p>Вывод</p>
<p><img class=

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

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

Вывод

 ps -o pid,uname,comm -C command

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

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

Вывод

ps --ppid Номер PID команда

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

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

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

Вывод

ps - p pid_no -L

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

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

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

Вывод

ps -e -o pid,uname,pcpu,pmem,comm

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

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

Вывод

ps переименовать столбцы

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

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

Вывод

ps -e - или pid,comm,etime

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

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

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

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

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

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

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

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

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

Список текущих Запущенные процессы

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

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

 Список процессов в стандартном формате

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

 Список процессов в формате BSD

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

Список процессов в формате длинного списка

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

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

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

 Список пользовательских процессов по идентификатору

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

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

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

Отобразить запущенные процессы корневого пользователя

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

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

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

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

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

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

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

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

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

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

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

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

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

Список процессов по телетайпу

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

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

Список дерева процессов

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

 Представление дерева списка процессов

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

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

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

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

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

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

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

Список процессов с именами

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

Список процессов Информация об идентификаторе

Найти процесс используя PID

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

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

Найти родителя Дочерний процесс

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

Найти все Обработать PID

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

Найти время работы процесса

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

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

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

Найти топ Запущенные процессы

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

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

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

Найти и Завершить процесс

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

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

Найти контекст SELinux

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

 Список контекстов SELinux по пользователям

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

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

В реальном времени Мониторинг процессов

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

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

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

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

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

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

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

Поддержите нас

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

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

 Отключить Su Access для пользователя

 Переместить домашний каталог в новый раздел

Система Linux Команды администратора

 Как скачать файлы в Linux

Примеры Linux Cron

Linux Vmstat и команды Iostat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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