amarao: (Default)
amarao ([personal profile] amarao) wrote2022-06-14 11:24 am

Понимание основ

Почему Ctrl-D в начале командной строки закрывает ввод, а в середине (если что-то напечатать) - нет?

Ожидаемая глубина: кто обрабатывает нажатие кнопки, сигналы (или нет), лидеры сессии (или нет), кому закрывают первому из процессов.
sab123: (Default)

[personal profile] sab123 2022-06-14 07:48 pm (UTC)(link)
Дык ничего там нет и ничего не закрывают.

[identity profile] edo-rus.livejournal.com 2022-12-20 01:19 am (UTC)(link)

хм… никогда не задумывался раньше, но мне кажется, что вы переусложняете )
в начале строки после нажатия ctrl-d read вернёт 0, что считается концом файла, и произойдёт выход из event loop. в случае нажатия в середине строки read вернёт не 0, соответственно выхода из event loop не будет.

попробовал strace cat, работает именно так.

Edited 2022-12-20 01:19 (UTC)