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

Содержание

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

Типы сигналов для окончания процессов

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

  1. SIGINT — стандартный сигнал, использующийся и в графических оболочках. При его отправлении процесс сохраняет все конфигурации, завершает выполняемые деяния и только позже отключается. Если вы работаете через «Терминал», используйте комбинацию кнопок Ctrl + C, чтоб стремительно «убить» текущий процесс.
  2. SIGQUIT — фактически не отличается от предшествующего сигнала, но при его отправке программка уже сама решает, стоит завершать работу. При всем этом создается дамп памяти, что может быть полезно определенным юзерам. Это 2-ой и последний сигнал, который можно отправить сочетанием кнопок при содействии с «Терминалом». Для этого употребляется композиция Ctrl + /.
  3. SIGHUP — употребляется для разрыва связи с «Терминалом». Рекомендуется использовать этот сигнал, если требуется оборвать соединение с вебом.
  4. SIGTERM — сразу удаляет процесс, но его дочерние функции продолжают производиться до полного окончания операций, а после делается освобождение системных ресурсов.
  5. SIGKILL — аналогичный предшествующему сигнал, но при всем этом оставшиеся дочерние задачки не прекращают свое функционирование.

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

Завершаем процессы в Linux

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

Метод 1: «Системный монитор»

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

  1. Перейдите в меню «Показать приложения», где найдете «Системный монитор» и запустите его, кликнув по значку левой кнопкой мыши.

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

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

Щелкните правой кнопкой мыши по строке и изберите пункт «Завершить». Это действие производится через жаркую кнопок Ctrl + E. Еще понизу имеется кнопка, позволяющая окончить процесс без вызова контекстного меню.

Если же операция не закончилась по любым причинам, используйте опцию «Убить».

Ознакомьтесь с информацией в предупреждении и подтвердите свои намерения.

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

Метод 2: Команда kill

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

Дальше остается только запустить «Терминал» и использовать упомянутую команду. Для начала изучите ее обычный синтаксис:

kill -сигнал pid_процесса
. Сейчас давайте разглядим пример «убийства».

  1. Откройте меню приложений и запустите «Терминал».

Введите ординарную команду
ps aux | grep name
для получения инфы об обозначенном процессе, где name — имя хотимой программки.

В отобразившемся итоге найдете главный PID и запомните его.

Введите
kill PID
для окончания процесса через сигнал SIGTERM. Заместо PID вам необходимо написать определенный ранее номер идентификатора.

Сейчас вы сможете опять использовать
ps aux | grep name
, чтоб проверить, была ли завершена операция.

То же самое действие по «убийству» осуществляется и через другой аргумент методом ввода
kill -TERM
.

Если приведенные выше команды не принесли никакого результата, будет нужно обозначить сигнал SIGKILL, вставив команду
kill -KILL
.

Учтите, что некие процессы запускаются от имени суперпользователя, соответственно, для их окончания требуются привилегии. Если при попытке ввода kill вы получаете информацию «Отказано в доступе», вводите перед основной командой sudo, чтоб вышло

sudo kill
.

Метод 3: Команда pkill

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

  1. Для отправки сигнала SIGTERM используйте
    pkill + заглавие процесса
    .

После вы сможете убедиться, что операция была удачно завершена.

Задайте вручную тип сигнала, введя такую форму
pkill -TERM ping
, где -TERM — нужный сигнал.

Используйте
pgrep
для определения того, что процесс больше не производится, если вы не желаете использовать ps

Метод 4: Команда killall

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

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

Источник: lumpics.ru


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

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив