Предотвращает ли Ctrl-C (SIGINT) вывод данных, даже если были процессы, которые пытались его выводить

У меня был скрипт bash, который сделал не то, что нужно. Поэтому я нажал Ctrl-C, чтобы остановить его.

Теперь вывод, который я сейчас вижу на своем терминале, вывод всех произведенных процессов. Является ли Ctrl-C также предотвращать печать вывода, даже если процесс, который хотел что-то выводить, запустил / закончил то, что делал.

Итак, я делаю:

for i in *; do rm -vf $i; done 

Теперь я могу быть уверен, что все removed 'file' сообщения на моем экране – это те, которые удалены, и больше ничего не было удалено?

Может быть, уместная информация: я работал в сеансе экрана над SSH.

По сути да .

После того, как процесс оболочки перехватывает ваше прерывание Ctrl-C , он останавливает его.

Однако есть предостережения, например, в цикле for может быть cmd, работающий в фоновом режиме.

Плюс есть некоторые команды, которые запускаются так быстро, что вы не получаете быстрый ответ от оболочки ( особенно через удаленное соединение!), Который он имеет или когда он фактически получил ваше «прерывание» с помощью Ctrl-C.