Возможно, есть недоразумение. Ctrl C не генерирует сигнал.Совершенно возможно нажать Ctrl C где угодно, и ничего плохого не произойдет (например, в любом текстовом редакторе или текстовом редакторе, это де-факто-стандарт для «копирования»)).
Однако, когда вы запускаете программу в оболочке , ваши нажатия клавиш действительно переходят в оболочку, а не в вашу программу.Оболочка будет перенаправлять (почти) все в стандартный поток вашей программы и перенаправлять все, что поступает из stdout, либо в терминал, либо в другой процесс, либо в файл (если вы использовали канал или перенаправление).
Если оболочка видит васнажмите Ctrl C , затем оболочка отправит сигнал прерывания .Но на самом деле это именно то, что делает оболочка, а не то, что волшебным образом происходит из-за комбинации клавиш.
О Ctrl X , вы, вероятно, имели в виду Ctrl Z .Это останавливает процесс, и оболочка выводит число, которое вы можете использовать с fg
, чтобы запустить его снова.