printf()
записывает в stdout
, то есть FILE *
, который оборачивает дескриптор файла 1. Файловые дескрипторы либо наследуются от родителя, либо открываются явно. Если вы будете следовать иерархии процессов вверх в типичной системе, вы, наконец, получите процесс login
, который обычно порождается процессом *getty
. Процесс getty подключается к терминалу с соответствующими настройками (скорость линии, четность, ... на последовательных линиях) и обычно вызывает login
на первом ключе / клавише ENTER. gettys обычно запускаются непосредственно из /etc/inittab
в традиционных системах инициализации.