Я искал ответы и до сих пор не нашел ничего, чтобы ответить на мой вопрос. В настоящее время я захожу на свой сервер Ubuntu и после запуска процесса я не могу запустить ни одно из прерываний на нем. Вот мой стиль:
user@Ubuntu1:~$ stty -a
speed 38400 baud; rows 93; columns 200; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;
flush = ^O; min = 1; time = 0;
У меня нет ничего в моем .bashrc, который изменяет прерывания.
Это одинаково для всех пользователей, включая root. Я также пытался войти в систему из разных мест, используя разные терминалы, и каждый раз появляется один и тот же результат. Я использовал ssh и ssh -X для входа в систему.
Изменить: локально все мои прерывания работают нормально.
Обновление: я все еще ищу ответ. У моего друга точно такая же проблема. Проблема, по-видимому, заключается в том, что при входе в систему (с ПК, Mac, Linux) клавиатура не воспринимает эти клавиши (даже если они правильно сопоставлены).
Ctrl+C
во время запуска другого процесса (например cat
)? Может быть, это тот процесс, который игнорирует Ctrl+C
. Или вы имеете в виду, что локально на сервере Ubuntu этот конкретный процесс отвечает Ctrl+C
, и в каком случае в каком терминале вы пытались? Как насчет screen
сессии?
kill -s 2
(обратите внимание -s 2
, что это SIGINT
(сигнал, который обычно посылается при нажатии Ctrl + C, по умолчанию для kill
is SIGTERM
)), то команда не игнорирует прерывание. Что-то еще поднимает это. Когда вы запускаете это локально, и оно работает, вы говорите, что оно работает с использованием одного и того же терминала на клиентском компьютере для выполнения чего-либо локально или запуска эмулятора терминала локально на сервере? Интересно, используете ли вы какой-нибудь эмулятор, который пытается имитировать Ctrl + C из мира Windows ...
Ctrl+V
и попаданиеCtrl+C
? Вы пытались убить процесс сkill -s 2 <pid_of_process>
? Это должно быть равным отправке сигнала SIGINT процессу. Проверьте настройки ключа эмулятора терминала.