Portál AbcLinuxu, 10. května 2025 05:46

Dotaz: Jak spustit program jako daemon v init.d skriptu

16.6.2008 18:09 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Jak spustit program jako daemon v init.d skriptu
Přečteno: 963×
Odpovědět | Admin
Zdravim,

mam takovy problemek, vytvoril jsem startovaci init.d red-hat kombaptibilni skript a startuji jeden program, ktery potrebuji nastartovat na pozadi. Program samotny tuto moznost nema (zadny prepinac), pro start jsem chtel vyuzit funkci "start" z "functions". Zjistil jsem, ze kdyz dam na konec znak &, tak se skript prestane vykonavat (a neuvidim hlasku [ OK ]), takze jsem jej eskejpoval takto:

start program \&

Nyni to sice funguje, jak ma, ale po spusteni skriptu mi prestane terminal zobrazovat psane znaky (echo off). Neco mi rika, ze to asi neni nejstastnejsi nastartovani programu, ktery neumi spusteni na pozadi.

Jak na to?
Later --- Lukáš Zapletal
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.6.2008 18:55 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je nějaký důvod pro použití funkce start? Samotné spuštění binárky v shellu se znakem & funguje? Co třeba nohup /cesta/binarka &>/dev/nul &
17.6.2008 08:47 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Důvod je ten, že za mě vytvoří pid soubor. Jistě, nohup bych mohl použít, ale budu si muset zjistit PID.
17.6.2008 12:44 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
pid procesu jistíš z proměnné $$
17.6.2008 09:12 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Nohup mi vlastně vůbec nepomůže, potřebuji to spustit na pozadí nějak jinak než pomocí &.
17.6.2008 09:40 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vyřešil jsem to instalací programu daemonize.
Later --- Lukáš Zapletal
17.6.2008 09:55 jas | skóre: 13 | blog: blag
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neviem síce presne, ako funguje funkcia start, ale tým príkazom( start program \& ) pošleš do funkcie start & ako druhý parameter a teda celkom pochybujem, že sa ten program spustí na pozadí.
Neviem prečo nepoužiť klasickú cestu volania init.d scriptov, teda:
 /etc/init.d/program start &

Čo sa týka pidov, tak o tie by sa mal starať samotný script(pokiaľ je to vôbec nutné).
30.7.2008 10:03 Jirka
Rozbalit Rozbalit vše Re: Jak spustit program jako daemon v init.d skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
a] Neni to nahodou tak, ze funkce start sama o sobe spousti program na pozadi? tak proc za ni jeste davat '&'?
b] Aby mohl spustit /etc/init.d/program start, tak musi nejdriv tomu programu rict, co ma delat pri argumentu start a jsme na zacatku problemu:-)
c] Pokud neni k dispozici funkce start nebo nevime co presne dela, tak v kazde distribuci urcite bude nejaka obdoba prikazu start-stop-daemon vcetne manualu a to bych pouzil.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.