Inicie o programa C em segundo plano

Inicie o programa C em segundo plano

Quero iniciar um programa C em segundo plano a partir do terminal. O programa atua como driver bluetooth, o que significa que deve permanecer aberto enquanto o sistema estiver funcionando. Tentei com nohup e start-stop-daemon, mas em ambos os casos o programa c recebe o comando exit e fecha.

Como posso iniciar um programa C a partir de um terminal que é executado em segundo plano? Quero iniciá-lo e poder fechar o terminal na GUI (enquanto o programa C iniciado continua funcionando perfeitamente).

Obrigado!

Responder1

Parece que o programa precisa de um terminal de controle para ser executado (você pode descobrir stracese não possui o código-fonte).

Você pode fornecer ao programa um terminal de controle (mesmo ao iniciá-lo como parte da inicialização do sistema) executando-o através de screen(ot tmux).

screen cmd arg1 arg2

Responder2

Eu acho que para daemonizar totalmente um programa, você faria

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

Dependendo do seu sistema, você deve considerar iniciá-lo na inicialização do sistema usando upstart ou init ou algo parecido.

informação relacionada