Иногда процессы игнорируют сигнал SIGINT, отправленный Ctrl-C в Баш. Например, man и vi. Предполагая, что вы не хотите гуглить или читать руководство о том, как выйти из запущенного процесса, существует ли какая-либо последовательность клавиш, которая будет всегда работать (не выходя из терминала)?
Отправить сообщение СИГКВИТ сигнал с Ctrl+\.
.. $ sleep 10^\Quit→ Это эквивалентно kill -3 pid. Программы, запущенные в пользовательском пространстве, не игнорируют sigquit.
Существует также набор Волшебный SysRq сочетания клавиш. Один из наиболее интересных из них заключается в следующем: Alt+SysRq+k. Он убивает все процессы на текущей виртуальной консоли. Если один из ваших ttys полностью и полностью сломан, это можно использовать для возвращаться. На tty работает X.org , его можно использовать, чтобы убить X безжалостно.
Клавиша SysRq на большинстве клавиатур совпадает с клавишей печати. В моем ноутбуке его можно вызвать с помощью клавиши Fn; т.е. Alt→ Fn→ Print→ k в таком порядке.
Вот некоторые из основных ярлыков для управления процессами:
-
Ctrl+Z: приостановить процесс (плюс
bgчтобы возобновить работу в фоновом режиме,fgчтобы вывести на передний план) - Ctrl+C: вежливо попросите процесс прекратить прямо сейчас
- Ctrl+\: безжалостно убейте процесс, который в данный момент находится на переднем плане
- Alt+SysRq+s: Запись данных на диск (всегда делайте это перед уничтожением чего-либо важного)
- Alt+SysRq+s, k: безжалостно уничтожает все текущие процессы на данной виртуальной консоли
- Alt+SysRq+s, b: безжалостная перезагрузка без размонтирования,
- Alt+SysRq+r, e, i, s, u, b: Безопасно reboot eувидь if в system - это uттерли bкурение,
Примечание: Ctrl+Z, в отличие от Ctrl+C и Ctrl+\, также работает для man, vi, less, и тому подобное.
Если вы сомневаетесь, следующая процедура почти всегда будет работать:
~$ sleep 10^Z[5]+ Stopped sleep 10~$ ps PID TTY TIME CMD 4804 pts/0 00:00:00 bash 6207 pts/0 00:00:00 sleep 6208 pts/0 00:00:00 ps~$ kill -9 6207[5]+ Killed sleep 10~$ ^Z, конечно, указывает на то, что Ctrl+Z был нажат.
Для более подробного ознакомления с оболочками и терминалами также см. Мои ответы на:
Вы можете попробовать Ctrl+\
Иногда в CTRL+C отправляется на неправильную программу или входной канал. Это особенно часто встречается с такими редакторами, как vi, с командами с конвейерным выводом, сложными командами bash, включающими циклы и т.д.
Простое и быстрое решение - приостановить выполнение задания CTRL+Z а затем убейте его по номеру задания: kill %1 или kill -9 %1 и т.д.
Попробуйте один из этих:
Ctrl+4
Ctrl+\
Или:
Ctrl+Z а потом беги:
kill %1
Где %1 это номер задания, которое было возвращено при нажатии Control-Z. Добавить -9 чтобы заставить убить.
Когда вы находитесь в текстовой консоли, вы также можете попробовать: Ctrl-SysRq. Ядро должно завершить процесс.
Или SysRq-k, убивает все процессы на текущей виртуальной консоли (также может убивать программы X и svgalib).
Примечание: Когда волшебные клавиши SysRq используются для завершения работы замороженной графической программы, у программы нет шансов восстановить текстовый режим. Это может сделать все нечитаемым.
Чтобы отказаться от человек, использовать qОставлять англ. использовать :q
Вполне возможно, что вы изменили ярлык копирования с:
CTRL+SHIFT+C
К
CTRL+C
Таким образом, когда вы пытаетесь завершить процесс, CTRL+C не работает.
Попробуйте заменить ярлык копирования на CTRL+SHIFT+C.
Откройте Терминал → Настройки → Ярлыки и выполните поиск, если по ошибке вы заменили какую-либо клавишу на Ctrl+C.
Попробуй Ctrl+Alt+Backspace
Если вы используете ubuntu 10.04, вы хотите включить этот ключ для работы.
Чтобы включить Control-Alt-Backspace
>>Перейти к системе--Настройки--Клавиатура
Выберите нужный Вкладка "Макеты" и нажмите на кнопку Варианты компоновки.
Выбрать Последовательность клавиш для уничтожения X-сервера и включить Control + Alt +Backspace.
Примечание:
Прессование Ctrl-Alt-Backspace перезагрузит ваш X-сервер.