Как завершить процесс в Linux (Руководство по 2023 г.)

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

Завершить процесс в Linux (2023 г.)

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

Что такое процессы в Linux

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

Убить процесс через командную строку в Linux

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Сигналы завершения

Когда вы пытаетесь завершить процесс через GUI или CLI в Linux, ядро ​​посылает процессу сигнал завершения. Процесс действует соответственно, в зависимости от полученного сигнала. Каждому из этих сигналов присваивается определенный номер, чтобы программа могла быстро его понять. Существует множество типов сигналов завершения, но здесь мы объяснили только основные:

SignalNumeric ValueDescriptionSIGHUP1Расшифровывается как ‘Signal Hangup’
Он отправляется, когда терминал закрыт. SIGINT2 означает «Прерывание сигнала».
Он отправляется, когда пользователь завершает процесс. SIGKILL9 расшифровывается как «Signal Kill».
Он отправляется, когда вам нужно немедленно выйти из процесса. SIGTERM15 означает «Завершение сигнала».
Отправляется, когда нужно завершить процесс и высвободить потребленные ресурсы. SIGSTOP19 — для ARM, x86.
17 – для АЛЬФА
23 – для МИПС
24 – для PA-RISC расшифровывается как «Signal Stop»
Он отправляется, когда вам нужно приостановить процесс и возобновить его позже. Наиболее часто используемые сигналы — это SIGKILL (9) и SIGTERM (15). Определите идентификаторы процессов

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

PS

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

пс | grep

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

пидоф

Определение идентификатора процесса

Завершить процесс с помощью команды kill

После того, как вы записали идентификатор процесса, который хотите завершить, наиболее распространенной командой, используемой для завершения программ в вашей системе Linux, является команда kill. Синтаксис использования команды kill:

убийство

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

завершить с помощью команды kill

Завершить процесс с помощью команды pkill

Если вы чувствуете, что поиск идентификатора процесса неудобен, вы можете использовать команду pkill. Он ищет процессы, соответствующие шаблону, а затем уничтожает их. Синтаксис использования команды pkill:

убить

Некоторые из распространенных параметров для сопряжения с командой pkill: OptionDescription-nВыбирает только последние процессы, соответствующие идентификатору процесса-uВыбирает процессы, принадлежащие конкретному пользователю-xВыбирает процессы, точно соответствующие шаблону

Это особенно важно, когда несколько пользователей работают над разными экземплярами одной и той же программы в одной и той же системе, и один из экземпляров начинает вести себя неожиданно. Например, на приведенном ниже снимке экрана мы уничтожаем экземпляр «gedit», принадлежащий пользователю «intel», с помощью команды pkill в Linux:

pkill -u Intel gedit

Убить процесс gedit с помощью команды pkill

Завершить процесс с помощью команды killall

Команда killall работает аналогично команде kill, но уничтожает все процессы, соответствующие имени процесса, независимо от пользователя. По умолчанию он отправляет сигнал SIGTERM, если не указано иное. Интересно отметить, что команда killall никогда не может уничтожить себя, но может завершить работу других экземпляров команды killall. Синтаксис использования команды killall:

убить всех

Вот некоторые из параметров, которые можно сочетать с командой killall: OptionDescription-rИнтерпретирует имя_процесса как шаблон регулярного выражения, а затем уничтожает процессы, соответствующие шаблону-убивает указанный процесс, принадлежащий указанному владельцу.-oУбивает указанные процессы старше (начатые ранее) чем определенное время.-y Убивает указанные процессы раньше (начатые после) определенного времени.

Команда killall может быть полезна для завершения серии одного и того же процесса или даже всех процессов, принадлежащих определенному владельцу. Здесь, в нашем примере, мы убиваем все процессы, «заснувшие на 500 секунд», с помощью команды killall в Linux:

killall -v спать

убить все процессы с именем sleep

Завершите процесс Linux с помощью команды top/htop

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

вершина

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

Основной вывод команды top разделен на столбцы:

  1. PID — показывает идентификатор запущенного процесса.
  2. Пользователь — показывает владельца процесса
  3. PR — показывает значение приоритета процесса, которое назначается операционной системой.
  4. NI — показывает приятные значения, которые похожи на присвоение значений с интервалом пользователя для ручного управления приоритетом задачи.
  5. VIRT — показывает количество виртуальной памяти, используемой процессом.
  6. RES — показывает объем физической памяти, используемой процессом.
  7. SHR — показывает объем памяти, совместно используемой другими процессами.
  8. S – показывает текущее состояние процесса, которое может быть:
    • Д – непрерывный сон
    • Р – бег
    • С – спать
    • Т – остановился
    • З – зомби
  9. %CPU — показывает количество ЦП, используемого процессом в процентах.
  10. %MEM — показывает объем оперативной памяти, используемой процессом в процентах.
  11. ВРЕМЯ+ — показывает общее время выполнения процесса.
  12. Команда — показывает, какая команда была вызвана для процесса.

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

Чтобы найти имя процесса, нажмите «L» на клавиатуре и введите имя процесса, который вы хотите найти. Как только вы найдете гнусный процесс, нажмите «k» на клавиатуре, чтобы убить процесс. Теперь введите идентификатор процесса или оставьте его для текущего выделенного процесса и нажмите «ENTER». Затем введите сигнал завершения, а затем нажмите «ENTER», чтобы закрыть программу. Чтобы вернуться обратно к терминалу, нажмите «q» на клавиатуре.

Хотя команда top показывает такие сведения, как идентификатор процесса, потребление памяти и многое другое для всех запущенных процессов, она не очень подходит для начинающих, поскольку не показывает никаких сопоставлений клавиш или способов ее использования. С другой стороны, команда htop имеет более удобный интерфейс даже для инструмента командной строки. Кроме того, он показывает все детали в отдельном представлении, поэтому не загромождает окно терминала. Он не предустановлен в большинстве дистрибутивов, и вам нужно использовать следующую команду для установки htop в Linux:

sudo apt install -y htop

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

хтоп

Чтобы убить программу, перейдите к имени процесса, который вы хотите завершить, нажмите «F9», а затем нажмите Enter. Если вам нужно найти и убить любую программу, нажмите «F3» на клавиатуре, введите имя и нажмите Enter. Имя процесса будет выделено, нажмите F9, а затем Enter на клавиатуре, чтобы завершить процесс.

  • Как убить процесс в Linux
  • Как убить процесс в Linux

Убить процесс через системный монитор в Linux

Если вы чувствуете, что метод командной строки сложен для вас, вы можете использовать встроенный инструмент системного монитора, доступный в каждом дистрибутиве Linux. Чтобы узнать, как это работает, откройте инструмент системного монитора в меню «Приложения» и выполните следующие действия.

1. Когда откроется инструмент системного монитора, вы увидите три вкладки сверху с именами — «Процессы», «Ресурсы» и «Файловая система». Чтобы управлять своими процессами, перейдите на вкладку «Процессы». Здесь вы увидите все запущенные в данный момент процессы. Нажмите «CTRL+F», чтобы найти имя процесса. Нажмите на имя процесса, который вы хотите завершить, и нажмите «Завершить процесс».

Поиск процесса с помощью системного монитора

2. Затем вы получите запрос на подтверждение, хотите ли вы завершить процесс или нет. Нажмите на большую красную кнопку «Завершить процесс», чтобы завершить процесс в Linux.

убить процесс с помощью системного монитора

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

Как остановить все процессы в Linux?

Если вам нужно остановить все процессы (кроме оболочки входа в систему, инициализации и процессов, специфичных для ядра) для определенного пользователя в Linux, используйте либо команду pkill, либо команду killall в соответствии с синтаксисом:

pkill -у

убивать -у

Если вам нужно убить каждый процесс для каждого пользователя, включая систему инициализации, нажмите клавиши «ALT + Prt Sc + o» на клавиатуре.

Можно ли завершить процесс?

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

Что такое фоновые процессы в Linux?

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

Что такое зомби-процесс?

Процесс, который был убит пользователем, но все еще занимает память, называется зомби-процессом.

Что делает CTRL + Z в Linux?

Когда вы используете CTRL + Z в Linux, он отправляет сигнал SIGTSTP, который приостанавливает процесс и отправляет его в фоновом режиме. Когда процесс находится в приостановленном состоянии в фоновом режиме, вы не можете завершить процесс, пока он не будет возвращен на передний план.

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)