Píšu jednoduchou aplikaci pro démony používající C/C++ a chci, aby se spustila při spuštění Linuxu.
Pokusil jsem se upravit /etc/init.d/skeleton
přidat skript do adresáře init.d následovně
-
přidal moji aplikaci démona do
/usr/sbin/
adresář a změněnNAME=myDaemon
-
napište
update-rc.d myDaemon default
v Terminálu -
a přidal symbolické odkazy na
rc#.d
adresáře
Ale nefungovalo to.
Můj druhý pokus byl upravit rc.local
jako
/usr/sbin/myDaemon start
Ale ani toto nefungovalo.
Jak mohu spustit svého démona s OS? Chci vše dělat programově.
Používám Ubuntu 10.10, ale pokud existuje obecné řešení pro všechny distribuce, bylo by to skvělé!
Přijatá odpověď:
neupravíte /etc/init.d/skeleton
soubor. Kopírujete do nového souboru /etc/init.d/mamoudservice
(nahraďte mamoudservice
s vhodnějším názvem) a poté upravte tento nový soubor vhodně.
Poté přidáte symbolický odkaz z /etc/rc2.d/S99mamoudservice
na /etc/init.d/mamoudservice
atd.
Použijte např.
/bin/bash -vx /etc/init.d/mamoudservice start
abyste pochopili, jak bash
shell interpretuje váš skript.
Pokud váš démonský program /usr/sbin/mamouddaemon
je kódován v C nebo v C++, doporučuji použít openlog a syslog
uvnitř, alespoň pro získání ladicích zpráv (nevypisujte do stderr
nebo stdout
v démonu to nikam nevede).
Alternativa k vlastnímu /etc/init.d/mamoudservice
skript může vložit @reboot
záznam ve vašem crontab