Да. Это имеет отношение ^D
действительно делает: это просто останавливает ток read(2)
звонить.
Если программа делает int rdbytes = read(fd, buffer, sizeof buffer);
и Вы нажимаете ^D
промежуток, read()
возвраты с в настоящее время байтами чтения в буфере, возвращая их число. То же происходит на линейном окончании; \n
в конце всегда поставляется.
Таким образом, только a ^D
в начале строки или за другим ^D
имеет желаемый эффект наличия read()
вернуть 0
, сигнализация EOF.
Отправьте ему продолжать-сигнал (-ПРОДОЛЖЕНИЕ СЛЕДУЕТ). Или уничтожьте его полностью с-15 или-9.