Хорошо, я не знаю почему, но я видел, что этот вопрос задавался много раз, но ни один из ответов не кажется полезным, но проблема очевидна, потому что я проверил его на нескольких компьютерах. Ctrl+C
НЕ убивает работающую программу в терминале (Ubuntu v10), даже если она должна. Интересно, может ли кто-нибудь на самом деле указать решение, которое действительно работает.
До сих пор я пробовал Ctrl+\
, Ctrl+SysRq+K
и многое другое - ничего не работает!
Единственное, что сработало, вроде, это Ctrl+Z
, но это не так на самом деле убить / выйти из программы, но просто помещает ее в фоновый режим, и вам все равно нужно сделать kill %1
, чтобы фактически убить ее.
Спасибо!
Я столкнулся с этой проблемой, когда у одного из пользователей был 10.04. Та же проблема обсуждалась здесь CTRL + C больше не работает в терминале
Однако вы можете завершить команду, используя CTRL + SHIFT + C
Похоже, команды копировать в буфер обмена и завершать переключали свои сочетания клавиш.
На самом деле, многие программы не останавливаются на Ctrl+C
, потому что все, что он делает, это создает исключение в текущем запущенном потоке. Многопоточные программы, а также программы с «В случае каких-либо исключений, идти вперед». вроде инструкции продолжатся. Правильный случай действий будет одним из:
Ctrl + Break
. Ctrl + Z
. Это не остановит программу, но вернет вам командную строку. Затем сделайте ps -ax | grep *%program_name%*
. Найдите строку, соответствующую той, которую хотите остановить. Первое целое число в строке будет идентификатором программы. Сделайте kill -9 %id%
, чтобы наконец остановить это. top
в отдельном терминале, чтобы быстрее увидеть ID. Примечание. Отвечать и комментировать после комментариев ...
Я почти уверен, что это убьет большинство терминальных программ; конечно, он не уничтожит тех, кто форкирует новый процесс, а затем немедленно выдаст подсказку.
Некоторые программы могут перехватывать это прерывание и обрабатывать его так, как они хотят, или даже игнорировать его. Это может сильно зависеть от того, предназначена ли программа для запуска в терминале или из графического интерфейса.
Вот некоторые из программ, которые я только что попробовал в 10.04 и 11.10 и которые заканчиваются:
ping - which runs continuously by default, so this is the only way to stop it;
find - often takes a long time, so it's useful to be able to end it.
gedit
Первый: top
(См. Номер PID программы, которую вы хотите прервать.)
Второй: kill PID
Если Вы знаете название программы, можно использовать pkill
в другом терминале. Например, если название программы mutt
:
pkill mutt
завершится mutt
программа, кто не ответил бы CTRL + C