Как закрыть программу в линуксе

В операционных системах Linux есть команда Kill, прерывающая процесс. Она позволяет серверу продолжать работу после серьезных изменений и обновлений без необходимости перезагрузки. Это одно из важнейших преимуществ Linux и одна из причин того, почему она установлена на 90% серверов в мире. Команда kill отправляет процессу специальный сигнал. Ее можно запустить различными способами, непосредственно из командной строки или из скрипта.

Синтаксис

Использование команды kill из /usr/bin предоставляет дополнительную возможность прервать процесс по его имени при помощи pkill. Стандартный синтаксис команды kill следующий:

# kill [сигнал или опция] идентификатор(ы) процесса(ов)

Для команды kill существует около 60 сигналов, но основные значения следующие:

Имя сигнала Номер сигнала Действие
SIGHUP 1 Отключить
SIGKILL 9 “Убить”
SIGTERM 15 Прервать

Как завершить зависшую программу, процесс в Linux Ubuntu.

SIGTERM используется по умолчанию. Это самый безопасный способ прерывания процесса, когда приложению отправляется запрос, который может быть обработан или проигнорирован. SIGHUP — менее безопасный способ. SIGKILL — наименее безопасный вариант, прерывание процесса без сохранения, этот сигнал не может быть проигнорирован или перехвачен.
Идентификаторы процессов
Чтобы прервать (“убить”) процесс, нам нужно знать его идентификатор (Process ID или PID). Он генерируется автоматически при запуске каждой программы и есть у каждого процесса в Linux. Первый процесс, запускаемый при загрузке Linux — init, поэтому в большинстве случаев ему присваивается идентификатор ‘1’.

Init — системный процесс, его нельзя прервать таким образом. При получении сигнала он сам решает, позволить ли себя прервать, таким образом, команда kill становится просто запросом на отключение системы. Это сделано для того, чтобы исключить случайное прерывание системных процессов.

Увидеть все запущенные процессы и соответствующие им идентификаторы можно при помощи следующей команды:

# ps -A

Для получения идентификатора конкретного процесса можно воспользоваться командой pidof, которой в качестве аргумента задается его имя.

# pidof mysqld 1684

Также можно сделать фильтрацию с помощью grep

# ps aux | grep mysqld root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00 /bin/sh /usr/bin/mysqld_safe —datadir=/var/lib/mysql —socket=/var/lib/mysql/mysql.sock —pid-file=/var/run/mysqld/mysqld.pid —basedir=/usr —user=mysql mysql 1684 0.1 0.5 136884 21844 ? Sl 09:49 1:09 /usr/libexec/mysqld —basedir=/usr —datadir=/var/lib/mysql —user=mysql —log-error=/var/log/mysqld.log —pid-file=/var/run/mysqld/mysqld.pid —socket=/var/lib/mysql/mysql.sock root 20844 0.0 0.0 4356 740 pts/0 S+ 21:39 0:00 grep mysqld

Примеры

Прежде чем перейти непосредственно к исполнению команды kill, следует сделать ряд важных замечаний:

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

  • Пользователь может прервать любой свой процесс.
  • Пользователь не может прервать процесс другого пользователя..
  • Суперпользователь (root) может прервать системный процесс и процесс любого пользователя.
  • Пользователь не может прервать системный процесс

Чтобы “убить” процесс с указанным PID, нужно выполнить следующую команду (приведен пример для процесса mysqld из предыдущего раздела):

# kill -9 1684

Будет “убит” процесс с PID=1684, то есть mysqld.

Можно использовать не только номер, но и название сигнала/ Например, для запроса на прерывание, который можно обработать или проигнорировать:

# kill -SIGTERM 1684

Аналогично, команда kill -SIGKILL PID эквивалентна команде # kill -9 PID

Для прерывания нескольких процессов можно указать их идентификаторы через пробел:

# kill PID1 PID2 PID3
# kill -9 PID1 PID2 PID3
# kill -SIGKILL PID1 PID2 PID3

Прерывание процесса по имени. Команда pkill

Для прерывания процесса по имени, а не идентификатору, используется команда pkill. Нужно внимательно вводить имя процесса, так как прерывание не того процесса может привести к сбоям:

# pkill mysqld

Если у процесса слишком много экземпляров и дочерних процессов, существует команда killall, которой в качестве аргумента также задается имя процесса.

# killall [сигнал или опция] имя процесса

Для прерывания всех экземпляров mysqld с дочерними процессами воспользуйтесь следующей командой:

# killall mysqld

Далее можно проверить состояние процесса (запущен он или нет), например:

Читайте также:
С помощью какой программы можно сделать видео из слайдов

# service mysql status

Команда killall

Еще одна полезная команда для завершения процессов, это команда killall. Эта команда также как и pkill может завершить все процессы имеющие одно имя

killall mysqld

А также весьма полезна бывает когда нужно завершить все процессы какого нибудь пользователя.

killall -u username

Заключение

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

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

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

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

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

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

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

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

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

Способ 1: «Системный монитор»

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

Запуск системного монитора в Linux для завершения процессов

    Перейдите в меню «Показать приложения», где отыщите «Системный монитор» и запустите его, кликнув по значку левой кнопкой мыши.
  • В появившемся окне вы увидите список процессов. Найдите имя необходимой для завершения задачи. Поиск процессов через системный монитор в Linux
  • Дополнительно вы можете переместиться в свойства объекта через контекстное меню, чтобы посмотреть всю информацию о нем. Просмотр общий сведений о процессе через системный монитор в Linux
  • Щелкните правой кнопкой мыши по строке и выберите пункт «Завершить». Это же действие выполняется через горячую клавиш Ctrl + E. Еще внизу имеется кнопка, позволяющая завершить процесс без вызова контекстного меню. Завершение процессов через системный монитор в Linux
  • Если же операция не завершилась по каким-либо причинам, задействуйте опцию «Убить». Принудительное убийство процесса через системный монитор в Linux
  • Подтверждение убийства процесса через системный монитор в Linux

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

    Способ 2: Команда kill

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

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

    1. Откройте меню приложений и запустите «Терминал». Запуск Терминала для завершения процессов в Linux
    2. Введите простую команду ps aux | grep name для получения информации об указанном процессе, где name — имя желаемой программы. Команда для поиска идентификатора процесса при завершении через kill в Linux
    3. В отобразившемся результате отыщите главный PID и запомните его. Просмотр идентификатора процесса для завершения через kill в Linux
    4. Введите kill PID для завершения процесса через сигнал SIGTERM. Вместо PID вам нужно написать определенный ранее номер идентификатора. Завершение процесса через терминальную команду kill в Linux
    5. Теперь вы можете снова использовать ps aux | grep name , чтобы проверить, была ли завершена операция. Проверка завершения процесса через команду kill в Linux
    6. То же самое действие по «убийству» осуществляется и через другой аргумент путем ввода kill -TERM . Использование сигналов при вводе команды kill в Linux
    7. Если приведенные выше команды не принесли никакого результата, потребуется обозначить сигнал SIGKILL, вставив команду kill -KILL . Принудительное убийство процесса через команду kill в Linux
    Читайте также:
    Какая из приведенных операций не подлежит обязательному включению в программу наладочных работ

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

    Способ 3: Команда pkill

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

    1. Для отправки сигнала SIGTERM используйте pkill + название процесса . Использование команды pkill в Linux для завершения процесса
    2. После вы можете убедиться, что операция была успешно завершена. Проверка завершения процесса через команду pkill в Linux
    3. Задайте вручную тип сигнала, введя такую форму pkill -TERM ping , где -TERM — необходимый сигнал. Использование сигналов для завершения процессов через команду pkill в Linux
    4. Используйте pgrep для определения того, что процесс больше не выполняется, если вы не хотите задействовать psПроверка дерева процессов при использовании pkill в Linux

    Способ 4: Команда killall

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

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

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

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

    Лучшие способы закрыть и убить не отвечающие приложения в Linux

    Windows содержит по телику Ctrl + Alt + Delete Пока на Mac есть ярлык Ctrl + Alt + Побег заставить Приложения, которые не реагируют на закрытие. В Linux есть свои методы, которые работают сУбийство«Процессы, которые не работают должным образом, будь то графические окна или фоновые операции.

    Точные графические инструменты, которые вы можете использовать, зависят от Среда рабочего стола У вас, как и у каждого среда рабочего стола Предлагаются различные инструменты для дистрибутив. Но большинство из них чем-то похожи.

    Приложения для Linux Достаточно мощный, чтобы без проблем работать при выполнении различных задач, но иногда может даже останавливаться Лучшие приложения. Вместо того, чтобы ждать, пока вся система выйдет из строя, вы можете убить эти приложения которые не отвечают и прекращены. На самом деле, есть много способов убить приложения иLinux процессы Что может оставить вас избалованным выбором!

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

    Если у вас возникли проблемы с приложением Linux, есть несколько способов завершить его работу в Linux.

    1. Выйдите из приложения Linux, нажав «X».

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

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

    Так какое же решение? Нажмите кнопка X в верхнем углу (слева или справа, в зависимости от вашего дистрибутива Linux). Это должно остановить неотвечающее приложение. Вы можете увидеть диалоговое окно с просьбой подождать или принудительно завершить работу, чтобы завершить его сейчас.

    Если все пойдет по плану, некоторые дистрибутивы предложат вам отправить отчет об ошибке.

    2. Используйте системный монитор, чтобы убить процесс Linux.

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

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

    Чтобы закрыть приложение, которое здесь не отвечает, просто выберите его и щелкните правой кнопкой мыши. Затем у вас есть три варианта:

    • Остановите процесс: Это приостанавливает процесс, позволяя продолжить его позже. Этот вариант в большинстве случаев не работает.
    • Завершить процесс: Правильный способ закрыть процесс, безопасно завершит работу приложения и очистит временные файлы.
    • убить процесс: Это крайний вариант, и его следует использовать только в том случае, если опция завершения процесса не работает.
    Читайте также:
    Как снести программу на телефоне

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

    3. Принудительно завершить процессы Linux с помощью «xkill».

    Другой вариант, который вы можете использовать, это Xkill. Это инструмент для принудительного завершения работы, предустановленный в Ubuntu, но при необходимости вы можете установить его через Терминал в других дистрибутивах. Когда вы позвоните, вы сможете Xkill Чем закрыть любой рабочий стол. Установите его с помощью следующей команды:

    sudo apt install xorg-xkill

    После этого запустите Xkill как только вы наберете

    xkill

    Указатель мыши отобразит крест (или череп). Щелкните левой кнопкой мыши приложение, которое не отвечает, чтобы закрыть его.

    Если ваше приложение, которое не отвечает ни одним из этих методов, ориентированных на рабочий стол, не может быть закрыто, решением может быть командная строка .

    4. Используйте команду «kill».

    Если ваше приложение не отвечает и приведенные выше предложения не работают (графический интерфейс может не реагировать), коснитесь Ctrl + Alt + T , чтобы открыть Терминал.

    Для закрытия приложений доступны несколько параметров командной строки. Более того, его можно использовать как на вашем ПК, так и на вашем компьютере. Подключение через SSH с другого устройства.

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

    ps aux | grep [process name]

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

    kill [process ID]

    Обратите внимание, что вам может потребоваться добавить команду sudo.

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

    5. Используйте pgrep и pkill.

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

    pkill [process name]

    В качестве альтернативы вы можете использовать команду схватить Чтобы найти идентификатор процесса:

    pgrep [process name]

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

    pkill [process ID]

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

    Как с порядком убивать Эта команда должна закрыть процесс примерно через 5 секунд.

    6. Закончите все дела с помощью «killall».

    не повезло с убивать или же убийство? Пора использовать ядерный вариант: убить всех.

    К счастью, это не так разрушительно, как может вызвать зависшее приложение. Это будет кончено убить всех Все экземпляры указанного приложения. Итак, вместо того, чтобы убить окно Firefox, следующая команда убьет их всех:

    killall firefox

    Все, что вам нужно, это название процесса и команда убить всех (может быть, с Sudo если требуется в соответствии с вашими настройками).

    killall [process name]

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

    7. Создайте сочетание клавиш для принудительного закрытия.

    Хотите сэкономить время при закрытии неотвечающих приложений? Оптимальный вариант — создать Сочетание клавиш. Это дает вам возможность мгновенно закрыть приложение, но для этого требуется Xkill Так что это работает.

    В Ubuntu откройте Настройки -> Клавиатура и нажмите Ярлыки. Найдите Пользовательские ярлыки , Потом + чтобы создать новый ярлык. Входить «XkillИ для имени, и для команды сделайте запрос. Это вернет вас к списку ярлыков — Выберите ярлык , затем нажмите комбинация клавиш требуется, чтобы вы использовали его для его активации.

    Лучшие способы закрыть и убить неотвечающие приложения в Linux

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

    Избегайте неотвечающих приложений: обновите свое устройство

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

    установлено баран Дополнительный первый способ увеличить мощность вашего ПК может быть именно тем, что вам нужно, чтобы эти угрюмые приложения не перестали отвечать в будущем.

    Итак, в следующий раз, когда приложение или инструмент Linux перестанет работать и все перестанет отвечать, все, что вам нужно сделать, это применить одно из следующих решений:

    • Нажмите X на углу.
    • использовать Системный монитор.
    • использовать Xkill.
    • порядок приема на работу убивать.
    • Закройте приложения с помощью убийство.
    • вербовка убить всех закрыть приложения.
    • построить Сочетание клавиш.

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

    Источник: www.dz-techs.com

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