Домашняя » как » Как убить настольное приложение или фоновый процесс в Linux

    Как убить настольное приложение или фоновый процесс в Linux

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

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

    С графического рабочего стола

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

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

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

    Приложение «xkill» может помочь вам быстро убить любое графическое окно на вашем рабочем столе..

    В зависимости от среды вашего рабочего стола и его конфигурации вы можете активировать этот ярлык, нажав Ctrl + Alt + Esc. Вы также можете просто запустить команду xkill - вы можете открыть окно терминала, введите Xkill без кавычек и нажмите Enter. Или вы можете нажать сочетание клавиш, например, Alt + F2, которое открывает диалоговое окно «Выполнить команду» на рабочем столе Ubuntu Unity и многих других. Тип Xkill в диалог и нажмите Enter.

    Ваш курсор изменится на X. Щелкните окно, и утилита xkill определит, какой процесс связан с этим окном, а затем сразу же убьет этот процесс. Окно мгновенно исчезнет и закроется.

    Ваш рабочий стол Linux, вероятно, также имеет инструмент, который работает аналогично диспетчеру задач в Windows. На настольных компьютерах Ubuntu Unity, GNOME и других рабочих столах на основе GNOME это утилита System Monitor. Откройте утилиту System Monitor, чтобы увидеть список запущенных процессов, включая фоновые. Вы также можете принудительно убить процессы отсюда, если они плохо себя ведут.

    Из терминала

    Допустим, вы хотите сделать все это из терминала. Мы рассмотрели множество утилит, которые вы можете использовать для этого, когда рассматривали команды для управления процессами в Linux..

    Допустим, Firefox работает в фоновом режиме, и мы хотим убить его из терминала. Стандартная команда kill принимает идентификационный номер процесса, поэтому вам нужно сначала найти его.

    Например, вы можете запустить команду вроде:

    PS Aux | grep firefox

    Который выведет список всех процессов и передаст этот список команде grep, которая отфильтрует его и выведет только строки, содержащие Firefox. (Вторая строка, которую вы увидите, это сам процесс grep.) Вы также можете получить идентификатор процесса из верхней команды и многих других мест..

    Возьмите идентификационный номер процесса из процесса Firefox - справа от имени пользователя - и передайте его команде kill. То есть выполните команду так:

    убить ####

    Если процесс запущен от имени другого пользователя, вам сначала нужно стать пользователем root или хотя бы запустить команду kill с помощью команды sudo, например:

    sudo kill ####

    Это основной метод, но он не самый быстрый. Команды pgrep и pkill помогают упростить это. Например, запустите «pgrep firefox», чтобы увидеть идентификатор процесса запущенного процесса Firefox. Затем вы можете передать этот номер команде kill.

    Или пропустите все это и запустите «pkill firefox», чтобы убить процесс Firefox, не зная его номера. pkill выполняет некоторое базовое сопоставление с образцом - он пытается найти процессы с именами, содержащими firefox.

    Команда killall похожа на pkill, но немного точнее. Это убьет все запущенные процессы с определенным именем. Поэтому запуск killall firefox убьет все запущенные процессы с именем firefox, но не все процессы, в именах которых есть только firefox..


    Это далеко не единственные команды, включенные в Linux для управления процессами. Если вы используете какое-либо программное обеспечение для администрирования сервера, у него также могут быть полезные способы уничтожения и перезапуска процессов..

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

    Изображение предоставлено: Ли на Flickr