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 команда.

В новом терминале используйте команду killall.

Другие вопросы по тегам