Как выйти из зависших программ в Linux

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

Есть несколько способов убить или выйти из зависшей программы в Linux . Эта статья объяснит, как это сделать.

Используйте команду «Убить»(Use The Kill Command)

Прежде чем вы сможете использовать команду kill, ваша система должна знать идентификатор процесса(Process ID) ( PID ) не отвечающей программы.

PID — это число, которое автоматически идентифицирует каждый процесс при его создании в любой ОС Linux(Linux OS) . Преимущество этого метода в том, что он работает на всех системах Linux .

Найдите процесс и PID(Find The Process & PID)

Если вы не знаете, какой процесс завис в Linux , два инструмента помогут вам найти этот процесс: top и ps .

Top — это системный монитор на основе командной строки. В командной строке введите следующее:

$ top

На скриншоте выше показано много информации. Например, предположим, что Chrome — это замороженная программа на вашем компьютере.

Вы можете видеть, что есть четыре экземпляра Chrome , которые работают со следующими PID:

  • 3827
  • 3919
  • 10764
  • 11679

Чтобы определить конкретный экземпляр Chrome , который вы хотите убить, используйте команду ps и grep для фильтрации вывода.

Команда ниже покажет вам запущенные процессы, связанные с Chrome :

ps aux | grep chrome

Убить процесс(Kill The Process)

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

  • kill — убить процесс по ID
  • killall — убить процесс по имени

Существуют и другие сигналы, которые вы можете отправить обеим командам, в зависимости от желаемых результатов. 

Например, если вы хотите убить не отвечающий процесс, а затем перезапустить его, вы будете использовать сигнал HUP (отбой).

Другие сигналы об убийстве включают:

  • SIGSTOP для остановки процесса
  • SIGNINT, чтобы прервать клавиатуру
  • SIGKILL, чтобы убить сигнал

Из приведенной выше команды ps(ps) мы узнали , что PID(PIDs) для экземпляров Chrome — 3827, 3919, 10764 и 11679.

Чтобы отправить сигнал уничтожения(kill) , выполните следующие команды, чтобы успешно убить(kill) все четыре экземпляра Chrome :

  • убить -9 3827
  • убить -9 3919
  • убить -9 10764
  • убить -9 11679

Вы также можете использовать одну команду ниже, используя killall для отправки того же сигнала:

киллалл-9 хром(killall -9 chrome)

Нажмите X(Click The X)

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

Самое простое решение — нажать кнопку X в верхнем углу. В зависимости от вашей ОС кнопка может находиться в левом или правом верхнем углу.

После нажатия X вы увидите диалоговое окно с двумя вариантами: Подождать(Wait ) или Принудительно выйти(Force Quit) . Чтобы закрыть программу, нажмите Force Quit .

Убить процесс Linux в Linux с помощью системного монитора(Kill a Linux Process on Linux Using System Monitor)

Системный(System) монитор по умолчанию в Ubuntu называется Gnome . Он дает представление обо всех процессах, работающих в операционных системах Ubuntu Linux .

Пользователи могут выполнять различные задачи с помощью графического пользовательского интерфейса(Graphical User Interface) ( GUI ), включая Stop , Continue и Kill .

Если в вашей системе нет приложения системного монитора Gnome , установите его, выполнив следующие действия. Этот процесс работает для всех активных версий Ubuntu Linux , а также для Linux Mint и Debian .

  • Используйте сочетание клавиш терминала CTRL+ALT+T . Затем используйте приведенную ниже команду, чтобы загрузить и установить системный монитор Gnome .(Gnome System)

sudo apt-get установить gnome-системный монитор(sudo apt-get install gnome-system-monitor)

  • Откройте системный монитор с помощью командного терминала(Command Terminal) со следующим:

гном-системный монитор(gnome-system-monitor)

  • Или, используя графический интерфейс(GUI) , перейдите к Приложениям(Applications) , введите системный монитор(system monitor) в поле поиска и щелкните значок, чтобы открыть его.
  • Откройте системный монитор(System Monitor) , просмотрите столбец « Процессы(Processes) », чтобы найти не отвечающую или зависшую программу, выберите ее и щелкните правой кнопкой мыши.

Вы увидите несколько вариантов, в том числе:

  • Завершить процесс(End Process) , чтобы завершить работу приложения при очистке временных файлов.
  • Остановить процесс(Stop Process) , чтобы приостановить процесс и продолжить работу с ним позже.
  • Процесс уничтожения(Kill Process) является самым экстремальным из вариантов и будет работать для выхода из зависшей программы, если попытка завершить ее не работает.

Используйте команду xkill(Use The xkill Command)

Xkill — это предустановленная утилита уничтожения Ubuntu , которую вы можете использовать для принудительного завершения не отвечающего процесса Linux . Это инструмент, который предустановлен в Ubuntu .

Вы также можете установить его через Терминал(Terminal) в других дистрибутивах, используя следующую команду:

sudo apt установить xorg-xkill(sudo apt install xorg-xkill)

Затем запустите его, набрав xkill . Ваша мышь превратится в череп или крестик(x) . Щелкните левой кнопкой мыши на зависшей программе, чтобы закрыть ее.

Используйте pgrep и pkill(Use pgrep & pkill)

Несколько систем Linux предлагают ярлыки, называемые pkill и pgrep , для выполнения тех же задач, что и kill и ps , описанные выше.

Pgrep покажет имя и идентификатор процесса. Например, запустив pgrep chrome , вы увидите идентификатор запущенного процесса Chrome . Затем вы можете использовать этот идентификатор с командой kill.

7012(pkill 7012)

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

хром(pkill chrome)

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

Когда программа зависает, перезапуск системы не всегда самый удобный вариант. Это особенно актуально, если вы работаете над несколькими проектами одновременно и не сохранили свою работу.

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



About the author

Я инженер-программист с более чем 10-летним опытом работы в индустрии Xbox. Я специализируюсь на разработке игр и тестировании безопасности. Я также являюсь опытным обозревателем и работал над проектами для некоторых из самых известных игровых компаний, включая Ubisoft, Microsoft и Sony. В свободное время я люблю играть в видеоигры и смотреть сериалы.



Related posts