Вопрос.Есть программа которая запускается при старте системы из /etc/init.d ... вот в самой программе через select читаю ввод с клавиатуры (fd_io и fd_out это устройства на компортах)
        
fd_set con;
FD_ZERO(&con);
FD_SET(0, &con);
FD_SET(fd_io, &con);
FD_SET(fd_set, &con);
int result = select(MAX(fd_io,fd_out)+1, &con, 0, 0, &timeout);
if ( result )
{
        ....
        ....
        if (FD_ISSET(0, &con)) 
         {
            char ch;
                    read(0, &ch, 1);
                }     
......
}
если программу запускаю с консоли то ествественно что все номрально и вввод с клавиатуры работает ... 
а если запускать программу как сервис то можно ли как то получить в самой программе ввод с клавиатуры с какой либо консоли,  то есть выходит типа перехватывать или мониторить ?