Tengo una aplicación integrada en C que usa fgets para leer comandos de usuario desde stdin. Quiero que mi sistema Linux integrado inicie esta aplicación al inicio y coloque al usuario en la terminal de esta aplicación.
Puedo iniciar la aplicación al inicio usando un script bash:
./my_app
pero la aplicación no parece recibir la entrada estándar del terminal de usuario.
Si espero para iniciar sesión en Linux y luego inicio la aplicación manualmente desde la terminal, puedo interactuar con ella sin problemas.
¿Hay alguna forma de iniciar el programa automáticamente (como con un script de inicio) pero luego pasar el control al usuario, como si el usuario hubiera iniciado el programa él mismo?
Respuesta1
Encontré lo que estaba buscando:
exec ./my_app
reemplaza la terminal normal de Linux con la aplicación. La desventaja es que no puedes Ctrl + C volver a Linux, pero eso no es importante para mí, así que esto hace el trabajo.