Как и во всех задачах, в линуксе существуют несколько путей решения, поставленной задачи:
Разделим их условно на консольный путь и графический.
1)Если система ещё не слишком подвисла (приложение не обездвижило полностью систему) и вы можете двигать мышью или дождаться запуска графической программы, то вы можете запустить из меню Ка-Пуск - "Система" - ksysguard, который очень похож на "диспетчер задач" из windows
Просто выделите зависшую программу и нажмите кнопку завершить процесс(обращу внимание, что некоторые задачи можно завершить только запустив ksysguard под верховным пользователем root).
2) Второй способ наиболее оптимальный из всех (ИМХО) - нажмите сочетание клавиш CTRL+ALT+ESC (настройка по умолчанию), курсор мыши должен превратиться в квадратный X (икс) далее левой кнопкой мыши щёлкните по графической форме приложения (зависшее окно) оно мгновенно закроется и выполнение программы завершиться. Чтобы отменить превративщийся курсор достаточно просто нажать ESC или _правую_ кнопку мыши. (для работы необходимо чтобы утилита XKill была установленна в системе.
3) Радикальный графический способ - по клавишному сочетанию CTRL+ALT+Backspace перезагружается графическая среда. Замечу, что весь компьютер не перезагружается, только окошки. После выполнения перезапуска графической среды (обычно быстро) вас пригласят войти в систему. Это на крайний случай.
***Кстати, если у вас не запущено окно консоли(терминала), можно "перепрыгнуть" на одну из "виртуальных" консолей простым нажатием клавиш CTRL+ALT+F1 (или любой другой из F1-F6).
Вернуться же в графику точно так же просто - CTRL+ALT+F7 (или любой другой из F7-F12).***
1)top - консольная утилита показывающая верхние позиции по занимаемым ресурсам компьютера программами (топ-лист - ресурсоёмких программ).
Она выводит таблицу (на одном экране) которая динамически изменяется в зависимости от загрузки ресурсов теми или иными приложениями
Пример вывода(сокращ.):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1413 bk 20 0 183m 99m 17m R 81.1 9.9 29:15.18 xbill
31272 bk 20 0 418m 232m 28m S 9.9 23.0 23:16.15 firefox
увидев процесс явно занимающий все ресурсы тут для примера подвисший xbill (есть такая игра) занял якобы 81.1 % CPU, и для его прекращения необходимо нажать клавишу "K" (от англ. Kill и ввести PID (Process ID) нужного процесса, тут это 1413.
2)Либо можно использовать ещё один надёжный способ. Командаps ax
выведет много строчек подобных этим:
PID TTY STAT TIME COMMAND
1413 ? Rl 26:54 xbill
31272 ? Sl 21:36 /usr/lib/firefox-3.0.6/firefox
7483 pts/5 D+ 0:00 grep firefox
Где вам нужен лишь первый параметр будет PID (Process ID) - идентификатор процесса. Запомните его, он нам потребуется.
Выполнив следом за предыдущий командой эту
kill 1413
Мы прекратим (завершим процесс) с идентификатором 1413 в моём примере это XBill (игра).
Замечу так же, что очень удобным является сочетание команд в конвеер, например
ps ax | grep xbill
выводит список запущенных процессов (их может быть много), передаёт его команде grep и возвращает нам лишь строчки содержащие слово xbill заданное команде grep, в вышеуказанном примере такая добавка, вывела бы только следующие строчки:
ps ax | grep xbill
Оссобенно это удобно, когда вы знаете какое приложение зависло или\и когда это приложение запущенно несколько раз и вам надо завершить все его копии.
PID TTY STAT TIME COMMAND
1413 ? Rl 26:54 xbill
1593 ? Rl 26:54 xbill
1359 ? Rl 26:54 xbill
Если у вас повисло не одна программа, а весь компьютер (вся ОС), не спешите жать сброс (Reset), прочтите эту тему: "Магическая кнопка SysRq" или "Что делать, если все нахрен повисло" (РЕШЕНИЕ)
Добавлю немного.
Процесс по имени можно убить командой
killall имя_процесса
Если не работает сочетание Ктрл+Альт+Эск, то можно выполнить команду xkill и кликнуть по висячему окну.
Как более продвинутая замена утилите top, есть htop, она позволяет нагляднее управлять процессами. И нежелательные процессы по возможности лучше прерывать сигналом TERMINATE, чтобы процесс мог выполнить необходимые операции (сохранить настройки и т.д.) перед закрытием, то есть это мягкое выключение программы в отличие от KILL, который в прямом смысле убивает процесс. И, на сколько мне известно, команды kill и killall по умолчанию посылают приложениям именно сигнал terminate. Подробнее в man kill и man killall.
Я тоже писал об этом, и там кое-что есть ещё, чего тут не упомянуто.
http://zbarassky.com/?p=150
Я не пытался сделать, велосипед, я просто сделал его таким каким я его вижу :-))).
Ну или попытался изложить языком, понятным широкой аудитории, и только те части которые ей точно пригодятся. ИМХО - человек сколько-нибудь серъёзно занимающийся линуксом (даже как Хобби) - _эти_ вещи знать обязан.
"Линусом Т. ты можешь и не быть - но эти "три" команды знать обязан"
Отличная статья, но есть ошибка:
ps ax | xbill - пропущено слово grep
еще видел где-то, но забыл пока дочитал :)
Спасибо. Исправил.
Что ещё увидете, пишите.
если нашел нужный тебе PID к примеру 6283, пишешь kill или killall а он тебе в ответ " процесс не убит" как быть в таком случае ??
Попробовать sudo kill -9 PID.
а что делать если неработает контр+альт+бкспейс?
Поиск рулит!
Как настроить глобальные горячие клавиши для запуска ksysguard?
Делал через "настройки KDE меню", установил на ksysguard клавиши Ctrl+Esc, при этом согласился "отвязать" их от предыдущего приложения (стандартного KDE-диспетчера).
Но ksysguard не стал запускаться. Как вернуть горячие клавиши стандартному диспетчеру - не нашёл. (Ходил даже в Параметры системы \ Управление компьютером \ Клавиатура и мышь \ Комбинации клавиш )
Как настроить горячие клавиши на ksysguard?
P.S. Разобрался, как вернуть горячие клавиши на стандартный системный диспетчер: Параметры системы / Управление компьютером / Клавиатура и мышь / Основные действия;
Выбираем "Диалог запуска команд" в выпадающем списке "Компонент KDE";
Находим в списке ниже пункт "Показать активность системы";
Щёлкаем по пункту и ставим горячие клавиши по умолчанию. Они и есть Ctrl+Esc
P.P.S. Разобрался как поставить горячие клавишы на ksysguard, и любую программу.
В консоли пишем khotkeys и добавляем глобальную комбинацию клавишь.
На вкладке "действия" устанавливаем команду, на вкладке "активация" - горячую клавишу.
Всё просто, когда знаешь куда идти... уф, вспотел аж.
Команда 'khotkeys' не найдена, возможно вы имели в виду:
Команда 'hotkeys' из пакета 'hotkeys' (universe)
khotkeys: команда не найдена
Отправить комментарий