Даже в такой надежной операционной системе, как Linux, иногда могут возникать проблемы, приводящие к зависанию приложений или программ.
Есть несколько способов завершить работу зависшей программы в Linux. В этой статье объясняется, как это сделать.
Использовать команду Kill
Прежде чем вы сможете использовать команду kill, вашей системе необходимо знать идентификатор процесса (PID) не отвечающей программы.
PID — это число, которое автоматически идентифицирует каждый процесс при его создании в любой ОС Linux. Преимущество этого метода в том, что он работает во всех системах Linux.
Найти процесс и PID
Если вы не знаете, какой процесс завис в Linux, найти его помогут два инструмента: top и ps .
Top — системный монитор на основе командной строки. В командной строке введите следующее:
$ top
На снимке экрана выше показано много информации. Например, предположим, что Chrome — это зависшая программа на вашем компьютере.
Вы можете видеть, что есть четыре экземпляра Chrome, которые работают со следующими PID:
Чтобы определить конкретный экземпляр Chrome, который вы хотите уничтожить, используйте команду ps и grep для фильтрации вывода.
Приведенная ниже команда покажет вам запущенные процессы, связанные с Chrome:
ps вспомогательный | grep chrome
Завершить процесс
Теперь у вас есть две части информации, необходимые для завершения зависшего процесса в Linux: его имя и идентификатор. Используйте команды ниже:
В зависимости от желаемых результатов вы можете отправлять обеим командам и другие сигналы.
Например, если вы хотите завершить неотвечающий процесс, а затем перезапустить его, вы будете использовать сигнал HUP (повесить трубку).
Другие сигналы уничтожения включают в себя:
Из приведенной выше команды ps мы узнали, что PID для экземпляров Chrome — 3827, 3919, 10764 и 11679.
Чтобы отправить сигнал уничтожения, выполните следующие команды для успешного завершения всех четырех экземпляров Chrome:
Вы также можете использовать одну команду ниже, используя killall , чтобы отправить тот же сигнал:
killall -9 Chrome
Нажмите X
Не отвечающие программы и приложения обычно имеют серые кнопки или неработающие параметры. Иногда окно приложения даже невозможно переместить по экрану.
Самое простое решение — нажать кнопку X в верхнем углу. В зависимости от вашей ОС кнопка может находиться в левом или правом верхнем углу.
После нажатия X вы увидите диалоговое окно с двумя вариантами: Подождать или Принудительно завершить . Чтобы завершить работу программы, нажмите Принудительное завершение .
Завершение процесса Linux в Linux с помощью системного монитора
Системный монитор по умолчанию в Ubuntu называется Gnome. Он дает представление обо всех процессах, происходящих в операционных системах Ubuntu Linux.
Пользователи могут выполнять различные задачи с помощью графического пользовательского интерфейса (GUI), включая Остановить , Продолжить и Завершить .
Если в вашей системе нет приложения системного мониторинга Gnome, установите его, выполнив следующие действия. Этот процесс работает для всех активных версий Ubuntu Linux, а также Linux Mint и Debian.
sudo apt-get install gnome-system-monitor
gnome-system-monitor
Вы увидите несколько вариантов, в том числе:
Используйте команду xkill
Xkill — это предустановленная утилита уничтожения Ubuntu, которую можно использовать для принудительного завершения не отвечающего процесса Linux. Этот инструмент предустановлен в Ubuntu.
Вы также можете установить его через Терминал в других дистрибутивах, используя следующую команду:
sudo apt install xorg-xkill
Затем запустите его, набрав xkill . Ваша мышь превратится в череп или x . Щелкните левой кнопкой мыши по зависшей программе, чтобы закрыть ее.
Используйте pgrep и pkill
Некоторые системы Linux предлагают сочетания клавиш pkill и pgrep для выполнения тех же задач, что и kill и ps , обсуждаемые выше.
Pgrep покажет имя и идентификатор процесса. Например, запустив pgrep chrome , чтобы увидеть идентификатор запущенного процесса Chrome. Затем вы можете использовать этот идентификатор с командой kill.
pkill 7012
Или вы можете пропустить этот шаг и использовать приведенную ниже команду, чтобы удалить все экземпляры Chrome:
pkill Chrome
Это решение хорошо работает, если у вас работает только один экземпляр приложения. Однако если у вас открыто несколько окон одной и той же программы и вы хотите закрыть только одно, используйте вместо этого XKill .
Когда программа зависает, перезагрузка системы не всегда является самым удобным вариантом. Это особенно актуально, если вы работаете над несколькими проектами одновременно и не сохранили свою работу.
Попробуйте один из приведенных выше вариантов в качестве альтернативы легкому и быстрому безопасному выходу из зависших или не отвечающих программ в Linux.
.