Управление процессами Linux: полное руководство

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

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

Управление процессами в Linux: полное руководство — Linux

Это руководство по управлению процессами в Linux включает в себя такие инструменты, как ps, kill, renice и другие команды, которые помогут системному администратору управлять процессами и перечислять их.

Список процессов с помощью команды ps.

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

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

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

Следующий вывод является примером списка процессов с именами пользователей, прошедшим временем, связанной памятью и потреблением ЦП:

Управление процессами в Linux: полное руководство — Linux

Вы также можете обратить внимание на столбец STAT, который показывает состояние запущенного процесса. Буква R представляет процесс, который выполняется в данный момент, S представляет процесс, который находится в спящем режиме, а знак плюс указывает на процессы переднего плана.

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

ps ux | less

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

ps aux | less

Управление процессами с помощью системного монитора

Системный монитор предоставляет графический способ просмотра процессов и управления ими. Чтобы запустить системный монитор, перейдите в Приложения -> Системный монитор. Перейдите на вкладку «Процессы», чтобы просмотреть все запущенные процессы.

Управление процессами в Linux: полное руководство — Linux

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

Управление процессами в Linux: полное руководство — Linux

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

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

Работа с фоновыми/передними процессами

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

Как запустить фоновый процесс

Чтобы запустить приложение, пока вы все еще находитесь в оболочке, запустите команду, остановите ее и переведите в фоновый режим с помощью Ctrl + Z. Чтобы запустить приложение непосредственно в фоновом режиме, добавьте «&» в конце команды следующим образом:

find /usr > /tmp/allusrfiles &

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

Вы можете использовать команду . работе Чтобы просмотреть все приложения/процессы, работающие в фоновом режиме или те, которые вы остановили (используя Ctrl + Z).

jobs

Управление процессами в Linux: полное руководство — Linux

Как возобновить операции переднего и заднего плана

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

fg %<job-number>

Точно так же, если вы остановите процесс, работающий в фоновом режиме, вы можете снова запустить его в фоновом режиме с помощью команды bg , Следующее:

bg %<job_number>

Убить процессы в Linux

Точно так же, как графический инструмент, такой как System Monitor, позволяет вам убивать, останавливать и продолжать процесс, вы также можете использовать инструменты командной строки, такие как убивать و убить всех Послать сигнал запущенному процессу.

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

Вы можете использовать имена или числа, чтобы использовать знак.

kill -signalnumber <process-id>
kill -signalname <process-id>

Например, следующие команды отправляют сигнал СИГКИЛЛ Для обработки с использованием PID 1987:

kill -9 1987
kill -SIGKILL 1987

Наиболее часто используемые технологические сигналы:

  • SIGKILL (9): Немедленно завершить процесс.
  • SIGTERM (15): завершить процесс.
  • SIGSTOP (19): остановка процесса.
  • SIGCONT (19/28/25): Процесс продолжается после остановки.
  • SIGUP (1): сообщает процессу прочитать его файл конфигурации.

Обратите внимание, что разные процессы по-разному реагируют на эти сигналы, но они не могут остановить сигналы. СЛЕДУЮЩАЯ ОСТАНОВКА و СИГКИЛЛ. Введите следующую команду, чтобы узнать больше об этих сигналах:

man 7 signal

Обновить процессы в Linux

Ядро Linux отдает приоритет запущенным процессам и назначает системные ресурсы с учетом привилегий учетной записи пользователя. Другим фактором является ядро, которое является «хорошим» значением для каждого запущенного процесса.

Значение по умолчанию для процесса равно нулю, но вы можете установить диапазон от -20 до 19. Некоторые факты об установке приоритета процесса с новыми значениями:

  • Процесс с низким хорошим значением имеет больший доступ к ресурсам ЦП.
  • Только средний пользователь может изменить приоритеты своих операций.
  • Обычный пользователь может устанавливать только значения от -20 до 19 и может устанавливать только более высокие значения.
  • Пользователь root может установить для любых операций любое значение, высокое или низкое.

Управление процессами в Linux стало проще

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

Вы также можете узнать о лучшей командной утилите для просмотра и сортировки процессов и научиться завершать не отвечающие процессы в Linux. Теперь вы можете просмотреть Основные советы для продвинутых пользователей Ubuntu Linux.

Источник
Перейти к верхней кнопке