скидка 50% все планы, время ограничено. Начиная с $2.48/mo
осталось 10 минут
Серверы и ОС

Освоение управления процессами — команда Linux ps aux

Ада Лавгуд By Ада Лавгуд 10 минут чтения Обновлено 11 июля 2024 г.
Дополнительная команда Linux PS

Открыто ли в вашем браузере хотя бы пять других вкладок, где вы пытаетесь найти решение проблемы с Linux, с которой вы столкнулись?
Такое поведение не характерно для вас или людей в целом. Машины тоже многозадачны. И, как и вы, Linux также является многозадачным устройством и одновременно выполняет несколько процессов. Независимо от того, являетесь ли вы разработчиком, профессионально использующим Linux, или обычным пользователем, работающим с Linux в повседневной деятельности, вы должны быть в состоянии понимать эти параллельные процессы, чтобы поддерживать полный контроль над вашей системой. Управление процессами и контроль системы являются важными аспектами работы системы Linux.

Чтобы эффективно управлять процессами, запущенными в системе, видеть, что происходит в режиме реального времени, иметь общее представление обо всех фоновых процессах и контролировать ресурсы системы, вам необходимы технические знания в области управления процессами. Команда ps aux — мощная команда, играющая жизненно важную роль в управлении процессами и контролем системы. В этом посте мы узнаем больше о команде ps aux и вариантах ее использования. Мы также рассмотрим основы работы процессов Linux.

Понимание управления процессами в Linux

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

Существует два типа процессов Linux:

  • Процессы переднего плана
  • Фоновые процессы

Процессы переднего плана Linux

Процесс переднего плана — это процесс, который активно выполняется и обычно требует постоянного взаимодействия с пользователем в режиме реального времени. Когда активен процесс переднего плана, выполнение других процессов приостанавливается. Таким образом, вы не можете запускать какие-либо другие команды. Процесс переднего плана получает ввод с клавиатуры как стандартный ввод или стандартный ввод. Чтобы избежать дальнейшей путаницы, stdin и stdout представляют собой потоки данных Linux наряду со stderr. По сути, это то, как пользователь взаимодействует с процессом и предоставляет для него данные. Существует стандартный вывод или стандартный вывод, который создается процессом на основе его функциональности и ввода. Процессы переднего плана — это режим выполнения по умолчанию в Linux.

Фоновые процессы Linux

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

Поскольку выполнение широкого спектра задач в Linux зависит от командной строки, процессы на переднем плане могут быть проблематичными, а запуск процессов в фоновом режиме освобождает ваш терминал от работы над другими задачами. Таким образом, размещение задачи переднего плана на заднем плане здесь вполне разумно. Для того, чтобы отправить процесс в фоновый режим сначала вам следует остановить его выполнение на переднем плане. Это просто делается нажатием CTRL+Z. Затем, введя команду bg, завершенный процесс будет повторно запущен в фоновом режиме. Команда fg обратит процесс вспять и выведет его на передний план.

Статус процесса; Синтаксис, команды и интерпретация вывода

Эффективное управление процессами в Linux требует понимания состояния процессов, которые можно отслеживать с помощью команды ps aux. Но прежде чем углубляться в команду ps aux, давайте узнаем о различных состояниях процесса. Хотя существует несколько типов процессов и их статусов, вот таблица наиболее распространенных из них:

Статус процесса описание
Бег(R) В настоящее время процесс выполняется и потребляет ресурсы процессора.
Спящий Прерываемый (S) Процесс ожидает повторного запуска определенного ввода или события. В настоящее время он не использует ресурсы процессора. Когда ресурсы доступны или подаются сигналы, процесс начинается снова.
Непрерывный (D) Как и процесс, находящийся в прерываемом сне, непрерываемый спящий процесс не использует ресурсы ЦП. Разница лишь в том, что он не реагирует на сигналы и оживает только при наличии ресурсов.
Остановлен(Т) Пользовательский ввод или определенное событие приостановили процесс. Процесс в остановленном состоянии не использует ресурсы ЦП.
Мертвый(X) Процесс прекращен и больше не существует.

Хорошее понимание этих состояний процессов является важнейшим аспектом эффективного управления системами Linux и устранения неполадок. Теперь давайте рассмотрим синтаксис и команды для получения статуса процесса в Linux, а также то, как интерпретировать выходные данные.

Синтаксис и команды для получения статуса процесса

Вы можете получить статус процесса в Linux с помощью базового синтаксиса команды ps:

ps [process name]

Существуют также другие параметры, используемые с командой ps:

вспомогательный: Эта опция показывает полный список всех процессов, запущенных в системе. Он предоставляет такую ​​информацию, как идентификаторы процессов (PID), идентификаторы родительских процессов (PPID), использование ЦП и памяти, а также состояния процессов. Вывод, предоставляемый командой ps aux, намного аккуратнее, удобнее для чтения и содержит больше полезной информации, чем базовая команда ps.

эф: Эта опция отображает полноформатный список процессов с дополнительной информацией, включая иерархию процессов в виде древовидной структуры.

l: Этот параметр обеспечивает формат длинного списка, предоставляющий более подробную информацию о процессах.

Понимание вывода

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

Вот объяснение того, что означает каждый из этих столбцов:

ПИД: В этом столбце показан уникальный идентификатор процесса.

телетайп: В этом столбце показан тип терминала, в который вошел пользователь.

ВРЕМЯ: Этот столбец является индикатором того, сколько процессора используется этим процессом в минутах и ​​секундах.

КМД: Этот столбец представляет имя команды, запустившей этот процесс.

Анализ информации, предоставленной командой ps, дает вам более глубокое представление о поведении вашей машины с Linux.

Расширенные методы ps для управления процессами с помощью команды ps

Давайте рассмотрим некоторые расширенные функции команды ps и способы их эффективного использования:

1. Сортировка процессов

Команду ps aux можно использовать для сортировки окончательного вывода по разным столбцам. Например, вы можете отсортировать процессы по идентификатору процесса или использованию ЦП, чтобы просмотреть их в желаемом порядке.

Вот пример сортировки процессов по идентификатору процесса с помощью ps aux:

ps aux –-sort pid

Команда head используется для получения только первых пяти строк вывода.

ps дополнительный идентификатор сортировки

2. Визуализация дерева процессов

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

ps -aux --forest

родительско-дочерние отношения процессов Linux

Чтобы увидеть взаимосвязь между процессами в древовидной схеме, вы также можете использовать команду pstree. Эта команда создаст более понятный вывод и прекрасно иллюстрирует иерархию между процессами. Чтобы использовать эту команду, введите следующую команду:

pstree [pid or username]

Задавая этой команде PID, вы указываете ей считать этот процесс корнем дерева.

3. Процессы фильтрации

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

ps -u [username]

фильтрация процессов Linux с помощью команды ps

А команда ps aux grep может фильтровать процессы на основе любого шаблона или ключевого слова, которое вы предоставляете команде. Взгляните на приведенный ниже код в качестве примера:

пример команды ps aux grep

Эта команда сначала перечисляет все процессы и передает выходные данные команде grep для фильтрации этого длинного списка на основе идентификатора процесса. На изображении выше вы можете увидеть список всех процессов, информация о которых имеет номер 15.

Для получения дополнительной информации о команде ps и ее возможностях вы можете прочитать страницу руководства этой команды. Код ниже отобразит для вас страницу руководства:

man ps

Управление приоритетом задач в Linux

Чтобы лучше объяснить, как на самом деле работает управление процессами в Linux, нам следует также рассмотреть приоритет процесса и способы его изменения. Представьте себе ситуацию, когда у вас запущено несколько процессов, а процессор перегружен задачами. Если вы хотите, чтобы ваши ресурсы работали правильно в этой ситуации, вам необходимо изменить приоритет запущенных задач. Каждый процесс в Linux имеет значение приоритета. Это значение помогает ядру расставлять приоритеты задач. Число приоритетов варьируется от -20 до 19, где 19 — наименее важная задача, а —20 — самая срочная. Процесс с наивысшим приоритетом получает больше процессорного времени по сравнению с другими процессами. Значения приоритета часто называют «хорошими» значениями, при этом более низкие значения «приятно» показывают более высокий приоритет.

Вы можете использовать команды nice и renice для эффективного распределения системных ресурсов.

Но прежде чем менять приоритет процессов, давайте рассмотрим первый вариант использования команды ps.

  • Отображение текущего приоритета всех процессов с помощью команды ps:

Эта команда выводит список всех процессов вместе с их идентификаторами процессов (PID), именами команд и текущим приоритетом (хорошее значение):

 

ps -eo pid,cmd,nice

Получение приоритета всех процессов с помощью команды ps

  • Запуск процесса с высоким приоритетом по умолчанию с помощью команды nice:

Вы можете запустить процесс с предпочтительным приоритетом, используя эту команду:

nice -n [priority] [command]

Замените [priority] желаемым отрицательным значением, обозначающим уровень приоритета, а [command] — командой, которую вы хотите выполнить.

Вот пример:

запуск процесса с высоким приоритетом по умолчанию

  • Изменение приоритета уже запущенной команды:
renice -n [priority] -p [PID]

Замените идентификатор процесса, которым вы хотите манипулировать, на [PID].

Если вы хотите иметь мощную машину с Linux для выполнения всевозможных задач, Linux VPS это лучшее решение для вас. Cloudzy предлагает различные планы Linux VPS с предустановленным предпочитаемым вами дистрибутивом. Благодаря множеству преимуществ, таких как круглосуточная поддержка, 30-дневная политика возврата денег и гарантия безотказной работы 99,95%, Cloudzy удается удерживать цены на низком уровне. Наши цены на Linux VPS начинаются всего с $4,95 в месяц.

Linux VPS-хостинг

Приобретите Linux VPS эконом- или премиум-класса для размещения вашего веб-сайта или удаленного рабочего стола по самой низкой цене. VPS работает на Linux KVM для повышения эффективности и работает на мощном оборудовании с SSD-накопителем NVMe для повышения скорости.

Читать далее

Заключение

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

Часто задаваемые вопросы

Что такое команда ps aux в Linux?

Команда ps aux Linux — это часто используемая команда в Linux для получения информации о запущенных процессах. Он может предоставить полный список процессов в удобном для пользователя формате, включая их идентификаторы процессов (PID), использование ЦП и памяти, состояния выполнения и другие важные детали.

Какие два типа процессов существуют в Linux?

Процессы переднего плана и фоновые процессы. Процессы переднего плана занимают терминал во время работы и не допускают других выполнения. Фоновые процессы выполняются в фоновом режиме и не занимают весь терминал.

Как я могу просмотреть список процессов, запущенных в моей системе Linux?

Список процессов, запущенных в вашей системе Linux, можно получить с помощью таких команд, как ps, top или htop, для просмотра. Например, команда Linux ps aux предоставляет подробную информацию обо всех запущенных процессах.

Делиться

Еще из блога

Продолжайте читать.

Лучшие самостоятельные приложения, которые можно запускать с помощью Cosmos Cloud: обложка с панелями приложений вокруг информационной панели Cosmos.
Серверы и ОС

Лучшие приложения для самостоятельного размещения, которые можно запускать с помощью Cosmos Cloud: файлы, медиафайлы, пароли, автоматизация и многое другое!

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

Ник СильверНик Сильвер 16 минут чтения
Portainer и Cosmos Cloud для управления приложениями Docker покрыты диаграммой гибридной настройки и неоновыми операциями и блокировками доступа.
Серверы и ОС

Portainer против Cosmos Cloud: лучше всего подходит для управления приложениями Docker

Если вы уже знакомы с Docker и вам просто нужен более простой способ запуска растущего стека приложений, вот краткий ответ на вопрос Portainer и Cosmos Cloud. Портейнер — более сильный выбор для режиссера

Ник СильверНик Сильвер 14 минут чтения
Графика Cosmo Cloud, CasaOS и Umbrel показывает три автономных пути внутри одного абстрактного облачного сетевого мира.
Серверы и ОС

Cosmos Cloud, CasaOS или Umbrel: какая автономная платформа подойдет для вашей установки?

Короткий ответ: CasaOS по-прежнему является самым простым местом для начала, Umbrel имеет самый чистый и тщательно продуманный интерфейс, а Cosmo Cloud имеет больше смысла, если вы хотите более жесткий контроль над doma.

Ник СильверНик Сильвер 11 минут чтения

Готовы к развертыванию? От $2,48 в месяц.

Независимое облако, с 2008 г. AMD EPYC, NVMe, 40 Гбит/с. 14-дневный возврат денег.