Как определить и остановить процесс зависания, когда система зависает и медленно реагирует на ввод пользователя?

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

На компьютере с Windows я нажимал бы комбинацию клавиш CTRL-ALT-DEL, чтобы открыть диспетчер задач, найти процесс, вызвавший зависание, и уничтожить его.

Так как я довольно новичок в использовании linux, я не нашел наилучшей практики для решения такой ситуации в Ubuntu.

Каким быстрым и эффективным способом вы бы порекомендовали идентифицировать процесс зависания и закрыть его, когда система уже очень медленно реагирует на ввод пользователя?

3 ответа

Решение

Существует два основных способа определения зависших процессов. Один через графический интерфейс системного монитора, а другой через top в командной строке.

Системный монитор

Это можно найти в Система> Администрирование

учетная запись

Вы также можете создать сочетание клавиш для этого в этой статье.

После запуска графического интерфейса вы можете выбрать вкладку "Процессы", в которой будут перечислены все запущенные процессы. Сортировка по столбцу ЦП, чтобы найти наиболее ресурсоемкую задачу

ЦПУ

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

убийство

Командная строка

Если у вас открыт терминал, вы можете просто набрать top в нем будут перечислены все запущенные процессы, похожие на вкладку "Процессы" в графическом интерфейсе.

Топ

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

К

Просто введите PID процесса, который вы хотите убить, и нажмите Enter. Будет запрошен сигнал убийства для отправки. Чтобы убить процесс, используйте значение по умолчанию 15 - чтобы сразу его убить "Не проходите, не собирайте $200" используйте 9.

SIGKILL

Процесс будет прерван.

Если у вас медленный интерфейс, вы можете попробовать удаленно подключиться к SSH, если он включен, или переключиться на виртуальную консоль с помощью Ctrl+Alt+F#, где F# является функциональной клавишей (F3, F4, F5 и т. д.). Чтобы вернуться в среду рабочего стола, переключитесь на F7 или F8 в зависимости от вашей версии Ubuntu.

Добавить System Monitor апплет на панель (щелкните правой кнопкой мыши на панели, выберите Add to Pannel и найдите System Monitor) и щелкните правой кнопкой мыши на нем, чтобы открыть приложение System Monitor.

Вы можете запустить приложение System Monitor, нажав Alt+F2 и запустить программу gnome-system-monitor,

Перейдите на вкладку "Процессы" и щелкните правой кнопкой мыши приложение, которое вы хотите убить.

Большинство из них уже сказали (мне нравится ответ Марко Сеппи), но есть также апплет "Force Quit", который вы можете добавить на панель GNOME. Щелкните правой кнопкой мыши на панели и выберите "Добавить на панель...":

альтернативный текст

Это позволяет вам выйти из зависшего приложения, просто нажав на его окно. Очень быстро и эффективно.


При запуске Unity в 11.04 конечно, это приложение больше не будет доступно. Существует проект замены Indicator-Forceclose, но он не включен в репозитории.

В качестве альтернативы мы могли бы бежать xkill из терминала.

$ ps -el|grep ProcessName

В приведенном выше списке команд перечислены все процессы с именем ProcessName. затем убить процесс с его PID.

Пример. Убить vlc mediaplayer.

шаг 1)

$ ps -el|grep vlc

выше вывод команды что-то вроде: 0 S 1000 5980 2324 1 80 0 - 256647 do_sig tty2 00:00:00 vlc. Вот5980это идентификатор процесса. Чтобы убить медиаплеер vlc, введите следующую команду.

шаг 2)

$ kill -9 5980

Команда выше убьет vlc mediaplayer.

Другие вопросы по тегам