Inicie o c-programa em segundo plano

0

Eu quero iniciar um programa C em segundo plano no terminal. O programa atua como driver bluetooth, o que significa que ele deve permanecer aberto enquanto o sistema está em execução. Eu tentei com nohup e start-stop-daemon, mas em ambos os casos, o programa c recebe o comando de saída e fecha.

Como posso iniciar um programa em C a partir de um terminal que é executado em segundo plano? Eu quero iniciá-lo e, em seguida, ser capaz de fechar o terminal no gui (enquanto o c-programm iniciado continua correndo).

Obrigado!

    
por sarahlisa 25.11.2017 / 17:39

2 respostas

4

Parece que o programa precisa de um terminal de controle para ser executado (você pode descobrir com strace se não tiver 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 em screen (ot tmux ).

screen cmd arg1 arg2
    
por 25.11.2017 / 18:02
0

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.

    
por 25.11.2017 / 18:20