Запустить запуск демона с помощью Linux

Я пишу простое приложение-демон с использованием C / C ++, и я хочу, чтобы он начинался с запуска Linux.

Я новичок в системах Linux.

  • Хорошая практика заключается в том, чтобы создать фоновое задание в сценарии инициализации, если процесс не может самоопределиться?
  • Перечислить допустимые значения для mknod
  • Как запустить демон с настраиваемыми параметрами
  • Как работают демоны?
  • переменные среды для демонов
  • Почему мы используем setid () при демонтизации процесса?
  • Я попытался изменить /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, но если существует общее решение для всех дистрибутивов, это было бы здорово!

  • Настройка анонимного демона rsync
  • Проблема с запуском службы Debian
  • Как linux kernel Makefile понимает .config?
  • Что такое демон `avahi-dnsconfd`?
  • переменные среды для демонов
  • Файл / usr / libexec / mysqld не существует или не является исполняемым.
  • 2 Solutions collect form web for “Запустить запуск демона с помощью Linux”

    Вы не изменяете файл /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 .

    Если ваша программа daemon /usr/sbin/mamouddaemon закодирована на C или на C ++, я предлагаю использовать openlog и syslog внутри, по крайней мере, для получения сообщений об отладке (не выводить на stderr или stdout в деамоне, это никуда не годится) ,

    Альтернативой тому, чтобы ваш скрипт /etc/init.d/mamoudservice мог разместить запись @reboot в вашем crontab

    Попробуйте chkconfig с именем вашего сервиса, а затем «on». Это должно выполняться как root.

    Linux и Unix - лучшая ОС в мире.