Ctrl-C и Ctrl-Z не работают в терминале
Я установил виртуальную лабораторию на своем Mac.
Когда я использую lanmap2, каждый раз, когда я пытаюсь остановить его с помощью Ctrl+Z, он просто набирает ^Z
, но если я наберу Ctrl+C, все окно терминала закрывается.
Есть ли какие-либо команды, которые я могу использовать, чтобы остановить процесс вместо использования сочетания клавиш?
5 ответов
Если вы используете клавиатуру MAC, Command+точка / точка должны быть эквивалентны Ctrl+C для разрыва.
Для Ctrl+Z используйте Ctrl+Z для UnDo и Shift+Command+Z для ReDo.
Обратитесь к Справке терминала> Сочетания клавиш
Я бы попробовал stty -a
в Терминале посмотрите, на что наложены ваши символы. Убедитесь, что susp (suspend) сопоставлен с Ctrl-Z (^Z) и intr (interrupt) с ^C.
У вас есть какие-нибудь программы, которые могут "украсть" нажатие клавиши? Может быть somecoolapp
использует Ctrl-Z, чтобы отправить зебру Twitpic куда-нибудь.
Помните, что Ctrl-C закроет ваше окно, если все процессы под ним исчезнут. Я не знаю, как вы запускаете ваше приложение, но если оно заменяет bash с помощью exec, то "Ctrl-C закрывает окно" имеет больше смысла. Ctrl-C закрывает приложение переднего плана, которое является единственным запущенным приложением, которое закрывает окно.
Чтобы приостановить процесс, вы можете использовать другое окно терминала для отправки сигнала. Найдите идентификатор процесса с помощью Activity Monitor или ps
команда, а в другом типе окна kill -STOP <processid>
, К сожалению, Activity Monitor, похоже, не позволяет вам отправлять какой-либо сигнал, а SIGSTOP и SIGCONT отсутствуют в списке (по крайней мере, для Snow Leopard, что я могу проверить).
Как вы запускаете программу? Если вы дважды щелкнете, вы на самом деле запускаете две команды
<program>; exit;
Это закроет окно после выполнения программы.
Если это так, попробуйте запустить lanmap2
или что бы ваша программа не находилась в новом окне терминала. Сюда ctrl
+ c
будет закрываться только из программы, а не из окна.
Что касается ctrl
+ z
Я еще не нашел ничего, что могло бы помешать этому.
Может быть, то, что вы хотите, это Ctrl+S
? Это временно останавливает вывод работающей программы. Ctrl+Z
приостанавливает работу программы, чтобы вы могли вернуться в оболочку и что-то сделать, а затем снова вернуться в программу с помощью fg
команда.