problem s ukoncovanim rc scriptu v jailu pri rebootu
Miroslav Lachman
000.fbsd at quip.cz
Sat Dec 15 20:56:22 CET 2007
Dan Lukes wrote:
> Miroslav Lachman napsal/wrote, On 12/15/07 14:03:
>
>>Mam tu nasledujici problem, se kterym si nevim rady
>
> ...
>
>>Napsal jsem si script, ktery mi pri bootu spousti weby pouzivajici
>>Django jako FastCGI. Script v podstate funguje - dokud ho zkousim
>>ovladat rucne (v jailu) volanim:
>>/usr/local/etc/rc.d/django-runfcgi.sh start
>>a vypinani pres
>>/usr/local/etc/rc.d/django-runfcgi.sh stop
>
> ...
>
>>Problem je v tom, ze pri rebootu stroje (a tim ukonceni jailu) se ten
>>script patrne neprovede jak ma, jelikoz neodstrani pri vypinani PID file
>>a tak po rebootu nedojde ke spusteni.
>
> ...
>
>>Hlavni otazka tedy zni - jak zjistit, co se tam deje pri tom vypinani
>>jailu?
>
>
> Mno, ja si dovolim "hlavni" otazku pozmenit. Podle me hlavni otazka zni
> - co to je za nedomyslenost testovat to, zda bezi konkretni daemon podle
> existence nejakeho souboru ?
Dobre, je to nedomyslenost, nicmene pro me je stale hlavni otazkou to,
jak probiha ukoncovani procesu v jailu a jak debugovat rc scripty v jailu :)
> Damon (a nakonec, cely OS) muze byt ukoncen mnoha zpusoby z nichz
> nektere nezajistuji, ze jakykoliv soubor bude "uklizen".
>
> Pokud chces zajistit, ze aplikace bezi jen jednou a pritom si to
> aplikace nezajistuje sama, pak se podivej na 'lockf'. Obzvlastni
> pozornosti doporucuji posledni vetu prvniho odstavce sekce "DESCRIPTION"
lockf jsem do ted neznal, takze urcite diky za ponauceni.
Moc jsem z toho zatim nepochopil, jak bych to mel pouzit v pripade, kdy
to startuju nasledujicim prikazem:
su "${_user}" -c "/usr/local/bin/python manage.py runfcgi `head -1
django-runfcgi.conf` && echo -n ${site} "
a ukoncuji
su "${_user}" -c "kill ${_pid} && rm ${_pidfile} && echo -n ${site} "
ale s tim si jeste pohraju
Druhy problem je ovsem to, ze ten proces muze zastavit / spustit i
uzivatel, pod kterym bezi (proto to su) ze sveho shellu.
Jak pak vlastne nalozit s tim lockf v takovem pripade?
Mirek
More information about the Users-l
mailing list