백그라운드에서 C 프로그램 시작

백그라운드에서 C 프로그램 시작

터미널에서 백그라운드로 C 프로그램을 시작하고 싶습니다. 이 프로그램은 블루투스 드라이버 역할을 합니다. 즉, 시스템이 실행되는 동안 프로그램이 열려 있어야 합니다. 나는 nohup과 start-stop-daemon으로 시도했지만 두 경우 모두 c 프로그램이 종료 명령을 받고 닫힙니다.

백그라운드에서 실행되는 터미널에서 C 프로그램을 어떻게 시작할 수 있나요? 나는 그것을 시작한 다음 GUI에서 터미널을 닫을 수 있기를 원합니다 (시작된 C 프로그램이 계속해서 행복하게 실행되는 동안).

감사해요!

답변1

strace프로그램을 실행하려면 제어 터미널이 필요한 것 같습니다( 소스 코드가 없는 경우 알아낼 수 있음 ).

screen(ot ) 를 통해 프로그램을 실행하여 제어 터미널(시스템 부팅의 일부로 시작하는 경우에도)을 프로그램에 제공할 수 있습니다 tmux.

screen cmd arg1 arg2

답변2

내 생각에 프로그램을 완전히 악마화하려면 다음을 수행해야 합니다.

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

시스템에 따라 upstart나 init 등을 사용하여 시스템 시작 시 시스템을 시작하는 것을 고려해야 합니다.

관련 정보