Linux как выключить программу

Как выключить процесс по идентификатору процесса

Каждая из команд kill, pkill и killall используется для остановки процессов в Linux. В статье «Как использовать команду ps для мониторинга процессов Linux» мы рассмотрели ряд способов идентификации процессов, включая имя, команду, пользователя и терминал. Мы также рассмотрели способы идентификации процессов по их динамическим атрибутам, таким как использование процессора и памяти.

Так или иначе, мы можем определить процессы, которые работают. Зная их идентификатор процесса, мы можем (если нужно) остановить любой из этих процессов с помощью команды kill. Если бы мы хотели убить процесс 898, мы бы использовали этот формат:

sudo kill 898

Помните о том, что в некоторых случаях процесс не завершается и при этом не выводится никаких ошибок или предупреждений. На самом деле, данная команда является «рекомендательной», она «просит» процесс завершиться. Подробности смотрите в статье «Почему команда kill не убивает процесс?».

Как отключить «автогашение» (ждущий режим) в Linux?

Как выключить процесс зная его имя

Команда pkill позволяет вам убивать процессы по имени. Убедитесь, что вы определили правильный процесс! Эта команда завершит процесс top.

sudo pkill top

Как остановить несколько процессов по имени

Если у вас запущено несколько копий процесса, или процесс породил несколько дочерних процессов (как это может сделать Google Chrome), как вы можете выключить их? Это так же просто. Мы используем команду killall.

Читайте также:
Как установить видео обои без программ на Андроид

У нас запущено два экземпляра top:

ps -e | grep top

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

Если вы новый пользователь Linux, то вам требуется знать. Как убить (завершить) процесс в Linux, используя параметры командной строки? Как я могу убить запущенный процесс на Unix?

Linux и другие Unix — подобные операционные системы поставляются с командой kill. Данная команда позволяет завершить зависшие или нежелательные процессы без необходимости выхода из системы или перезапуска сервера или ПК.

Команда kill посылает заданный сигнал, например, KILL process , указанному процессу или группе процессов. Если сигнал не указан, посылается сигнал TERM . Обратите внимание, что команда kill может быть внутренней, как часть встроенной функции оболочки. Или внешней, расположенной по адресу /bin/kill . Синтаксис остаётся аналогичным независимо от того, какая команда внутренняя или внешняя.

Список распространенных сигналов TERM в Linux или Unix

Linux и Unix-подобные операционные системы поддерживают стандартные сигналы завершения, они перечисленные ниже:

SIGHUP (1) — обнаружено зависание на управляющем терминале или смерть управляющего процесса. Используйте SIGHUP для перезагрузки файлов конфигурации и открытия/закрытия файлов журнала.

SIGKILL (9) — это сигнал убийства. Используйте SIGKILL в качестве последнего средства для уничтожения процесса. Он не сохранит данные и не очистит процесс.

SIGTERM (15) — сигнал завершения. Это стандартный и самый безопасный способ завершения процесса.

Сложно ли переходить на Linux?

Команды kill и killall поддерживают более 60 сигналов. Однако большинству пользователей необходимо использовать только сигнал 9 или 15 . Чтобы получить полный список сигналов, введите:

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

Как убить процесс на любом дистрибутиве Linux

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

Читайте также:
Расширение файла step какая программа

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

Команда Kill отправляет сигналы разных типов, которые позволяют завершать процессы или группы процессов.

Если тип сигнала не указан, будет отправлен сигнал TERM, который является параметром по умолчанию.

Примечание для пользователей среднего уровня: Команда может быть внешней (расположена в /bin/kill) или внутренней (более поздние оболочки) в зависимости от типа оболочки Linux.

В любом случае, его использование очень похоже.

Типы командных сигналов KILL

Наиболее распространенными типами сигналов являются следующие

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

Права, необходимые для завершения процесса

  • Вы можете завершить только свои собственные процессы.
  • Пользователь root сможет убить все процессы, системные процессы и любых других пользователей.

Синтаксис команды KILL

kill [options] [signal] PID

Если вы хотите завершить несколько процессов одновременно:

kill [options] [signal] PID1, PID2 .

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

Примеры команд Kill

Давайте рассмотрим пример, когда вы хотите завершить процесс Apache httpd:

Шаг № 1: Найти PID процесса.

Первое, что вы должны сделать, когда хотите прекратить любой процесс, – это найти его PID.

Читайте также:
Телевизоры с телетекстом для приема программ со скрытыми субтитрами модели

Для этого вы можете использовать команды ps или pidof.

pidof httpd

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

Вы также можете запустить следующую команду, чтобы найти PID:

ps aux | grep httpd

Шаг № 2: Убить процесс с помощью PID.

PID 22298 – это тот, который назначен процессу httpd.

Чтобы завершить процесс и закрыть сервер Apache, вам нужно передать PID:

kill 22298

Это завершит процесс с PID 22298, что вы можете проверить, если вы снова используете команду pidof или команду ps

pidof httpd

Если мы не будем указывать какой-либо сигнал сигнал SIGTERM (-15) будет использоваться по умолчанию, поэтому следующие команды равны:

kill -15 22298 kill -SIGTERM 22298

Если сигнала SIGTERM (-15) недостаточно, например, когда сокеты Apache открыты, мы можем использовать сигнал SIGKILL (-9):

kill -9 22298 kill -SIGKILL 22298

Этот сигнал гарантирует, что процесс будет завершен, прерывая выполнение любой задачи.

Если в Apache есть несколько запущенных процессов, мы можем устранить их все сразу:

kill -9 22298 222300 222302 kill -15 22298 222300 222302

Команда Killall C

В Linux у нас также есть команда killall для уничтожения процессов по имени, хотя эта команда Unix имеет другую функцию.

killall -15 httpd

Это закроет все экземпляры процесса Apache httpd в Linux.

Однако в Unix эта команда завершит все процессы, поэтому лучше не запутаться при ее использовании.

Знаете ли вы какой-либо другой способ убить процессы в Linux или столкнулись с проблемами, используя любую из приведенных выше команд?

Дайте мне знать в комментариях.

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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru