프로그램을 데몬으로 실행하는 것과 nohup 및 &를 사용하는 것 사이에 차이점이 있습니까?

프로그램을 데몬으로 실행하는 것과 nohup 및 &를 사용하는 것 사이에 차이점이 있습니까?

프로그램을 데몬으로 실행하려고 하는데 현재 접근 방식에는 루트 액세스가 필요합니다. 내 프로그램을 서비스로 실행하는 대신 &와 함께 nohup 명령을 사용하여 백그라운드로 푸시할 수 있는지 궁금합니다.

이전에도 비슷한 질문이 있었던 것으로 알고 있습니다.프로그램을 데몬으로 실행하는 것과 "&"를 사용하여 백그라운드로 분기하는 것의 차이점은 무엇입니까?

하지만 nohup 명령을 추가하면 데몬처럼 실행될지 궁금합니다.

답변1

데몬을 실행하는 것과 백그라운드에서 프로그램을 실행하는 것에는 차이가 있습니다. 실제로 포그라운드에서 데몬을 실행하는 것이 가능합니다.

데몬 모드는 사용자 상호 작용 구성 요소 없이 무한 루프에서 실행되는 소프트웨어의 다른 기능입니다. &를 사용한다고 해서 소프트웨어가 계속해서 stdin의 입력과 stdout의 출력을 허용하지 않는다는 보장은 없습니다. 종종 데몬 모드에는 데몬 모드에서 기본적으로 더 철저한 소프트웨어 로깅과 같은 다양한 기능이 있습니다. 표준 모드에서는 표준 출력으로만 출력합니다. Nohup은 소프트웨어의 출력을 무시하지만 여전히 소프트웨어가 데몬 모드에서 실행되지는 않습니다. 최악의 경우, 소프트웨어에 사용자 입력이 필요한 경우 중단될 수 있습니다.

관련 정보