Linux에서 데몬을 시작하자

Linux에서 데몬을 시작하자

저는 C/C++로 간단한 데몬 애플리케이션을 작성하고 있으며 Linux 부팅 시 이 애플리케이션이 시작되기를 원합니다.

/etc/init.d/skeleton아래와 같이 init.d 디렉토리에 스크립트를 추가하도록 수정해 보았습니다.

  1. 내 데몬 애플리케이션을 디렉토리에 추가 /usr/sbin/하고 변경했습니다.NAME=myDaemon

  2. update-rc.d myDaemon default터미널에 쓰기

  3. rc#.d디렉토리에 심볼릭 링크를 추가합니다.

그러나 그것은 작동하지 않았습니다.

두 번째 시도는 그것을 rc.local다음과 같이 수정하는 것이 었습니다.

/usr/sbin/myDaemon start 

하지만 그것도 작동하지 않습니다.

운영 체제에서 데몬을 시작하려면 어떻게 해야 합니까? 나는 모든 것을 프로그래밍 방식으로 수행하고 싶습니다.

저는 Ubuntu 10.10을 사용하고 있지만 모든 배포판에서 작동하는 범용 솔루션이 있다면 좋을 것 같습니다!

答え1

당신은하지 않습니다조정문서 /etc/init.d/skeleton. 너복사새 파일에 복사한 다음 /etc/init.d/mamoudservice( mamoudservice더 적절한 이름으로 교체)편집하다그에 따라 새 파일이 생성됩니다.

그런 다음 에서 등 /etc/rc2.d/S99mamoudservice으로 심볼릭 링크를 추가합니다 ./etc/init.d/mamoudservice

예를 들어 사용하십시오.

   /bin/bash -vx /etc/init.d/mamoudservice start

bash쉘이 스크립트를 해석하는 방법을 이해하십시오 .

데몬이 /usr/sbin/mamouddaemonC 또는 C++로 코딩되어 있는 경우 다음을 사용하는 것이 좋습니다.로그 열기내부적으로는 syslog최소한 디버그 메시지를 얻으세요(데몬으로 stderr또는 stdout데몬 내에서 출력하지 마십시오. 아무데도 갈 수 없습니다).

스크립트를 작성 하는 /etc/init.d/mamoudservice또 다른 방법 은@rebootcrontab

答え2

노력하다구성 확인서비스 이름과 "Open"을 사용하세요. 이 작업은 루트로 실행해야 합니다.

関連情報