Как найти и завершить процесс с помощью терминала Linux

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

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

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

При написании этой статьи я использовал Ubuntu. Однако команды могут работать в любом дистрибутиве Linux.

Определение местоположения процесса Linux

Шаг 1: Прежде всего, откройте Terminal, нажав на пусковую установку Ubuntu и выполнив поиск Terminal.

Открытие терминала

Шаг 2: Теперь нажмите на Терминал и подождите, пока он откроется.

Шаг 3: Как только терминал откроется, у вас появится вот такой экран:

Командная строка терминала

В последующих шагах важны следующие два ключа:

PID - это идентификатор процесса. Каждый процесс имеет определенный 5-значный номер, присвоенный самому процессу. Эти номера могут повторяться, когда они достигают максимального предела, но они всегда уникальны для процесса в системе.

Шаг 4: команда top- используется в качестве основной команды для просмотра всех запущенных процессов, использующих ресурсы компьютерного устройства. Итак, мы выполняем команду top- в терминале и получаем следующие результаты

Использование команды Linux top для поиска процесса

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

  • h - используется для отображения окна справки. В окне справки есть все команды, они предоставляют информацию, которая весьма полезна.
  • пробел - При нажатии пробела мы получим немедленное обновление таблицы процессов. Нам не придется ждать никакого временного интервала.
  • f - добавление файлов для отображения в макете или удаление для удаления определенных полей, чтобы они не отображались.
  • q - используется для выхода из верхнего приложения, а также для дополнительно открытого окна.
  • l - используется для переключения отображения информации о средней нагрузке и времени работы.
  • m - служит для переключения отображения информации о памяти.
  • P (Shift + p) - используется для сортировки процессов по использованию процессора.s - используется для изменения задержки между обновлениями.

Шаг 5: Для просмотра списка всех запущенных процессов есть еще одна команда

Команда ps в Linux

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

Когда вы закончите, нажмите "q", чтобы выйти из этого окна.

Завершение процесса по идентификатору

Получив PID, мы можем использовать команду kill, чтобы завершить процесс на основе информации, полученной от команды ps -A.

Шаг 1: Для этого мы используем команду "sudo kill PID". Где PID - это идентификатор процесса, который мы хотим завершить.

Если мы хотим завершить определенный процесс, мы видим его соответствующий PID, а затем используем его, чтобы завершить запущенный процесс. Например, мы хотим завершить процесс "firefox", поэтому сначала находим его PID.

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

Итак, здесь PID firefox равен 16562. Мы используем команду "sudo kill PID", чтобы завершить процесс Firefox.

Как проверить, был ли процесс завершен или нет?

Затем мы проверяем все запущенные процессы после того, как убьем интересующий нас процесс, используя команду "ps -A | less". Результат показывает, что в списке нет процесса firefox (PID: 16562).

Проверьте, был ли процесс убит

Завершение процесса по имени

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

Сейчас мы убьем интересующий нас процесс, используя его имя. Если мы хотим завершить конкретный процесс, мы видим его соответствующий PID и затем используем его для убийства запущенного процесса. Например, мы хотим завершить процесс "firefox", поэтому сначала находим его PID. Завершить процесс Linux по имени

Итак, здесь имя процесса - firefox, и мы используем команду "pkill firefox" для завершения этого процесса.

Затем мы проверим все запущенные процессы после того, как убьем интересующий нас процесс, используя команду "ps -A | less". Результат показывает, что в списке нет процесса firefox.

Заключение

Спасибо, что прочитали эту статью. Мы рассмотрели, как можно найти и затем завершить процесс, используя его ID или имя.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий