Iniciar el programa c en segundo plano

Iniciar el programa c en segundo plano

Quiero iniciar un programa C en segundo plano desde la terminal. El programa actúa como un controlador bluetooth, lo que significa que debe permanecer abierto mientras el sistema está en ejecución. Lo intenté con nohup y start-stop-daemon, pero en ambos casos el programa c recibe el comando de salida y se cierra.

¿Cómo puedo iniciar un programa en C desde una terminal que luego se ejecuta en segundo plano? Quiero iniciarlo y luego poder cerrar la terminal en la interfaz gráfica de usuario (mientras el programa c iniciado sigue ejecutándose felizmente).

¡Gracias!

Respuesta1

Parece que el programa necesita una terminal de control para ejecutarse (puede averiguarlo stracesi no tiene el código fuente).

Puede proporcionar al programa una terminal de control (incluso cuando lo inicia como parte del inicio del sistema) ejecutándolo a través de screen(ot tmux).

screen cmd arg1 arg2

Respuesta2

Creo que para demonizar completamente un programa, harías

nohup the_command args ... </dev/null >/dev/null 2>/dev/null &
disown

Dependiendo de su sistema, debería considerar iniciarlo al inicio del sistema usando upstart o init o algo así.

información relacionada