Возможное дублирование:
что делать, если ctrl-c не может убить процесс?
На моем ноутбуке я нажимаю функциональную клавишу ноутбука + перерыв. На моем рабочем столе мой ключ прерывания (рядом с экраном печати) выглядит так:
Pause
Break
Если я нажимаю его (без Ctrl / Alt / и т. Д.), Я получаю это (игнорируйте эхо, они просто есть, чтобы я мог понять, что к чему):
# sleep 10;echo "no ctrl/alt/shift/etc"
[12]+ Stopped sleep 10
Если я нажимаю это со сдвигом, я получаю это:
[root@ID6052 public_html]# sleep 10;echo "shift + pause/break"
[13]+ Stopped sleep 10
Если я нажимаю его с помощью Ctrl, ничего не происходит.
Если я нажимаю Pause / Break с Alt, я получаю это:
[root@ID6052 public_html]# sleep 10;echo "alt + pause/break"
[15]+ Stopped sleep 10
Как мне заставить его просто остановить программу? Если я получаю список запущенных процессов, все эти команды «[xx] + Stopped ...» отображаются (в остановленном состоянии). На моем ноутбуке нажатие кнопки func + break (т. Е. Просто клавиши обычного прерывания ... кнопка func также используется для блокировки прокрутки, экрана печати и т. Д.) Полностью закрывает программы!
lessподобно vimили emacs, принимает меры для более полного захвата ввода с клавиатуры. Вы должны знать, как выйти из этих программ (q (может быть ^ Cq, если в режиме 'tail') в less; <ESC>: q <Return> в vim; ^ X ^ C в emacs). Хотя эти (и большинство других) программ позволят вам приостановить (остановить) их с помощью ^ Z, тогда вы можете использовать оболочку, чтобы убить их (ответ Питера упоминает об этом). Хотя программы тоже могут 'захватить' ^ Z (технически это делает emacs, но по умолчанию он приостанавливает себя, когда получает ^ Z). AFAIK, нет единого способа выйти из любой программы tty из того же tty.