rc-scripts + *.init
Jacek Konieczny
jajcus w bnet.pl
Pon, 5 Maj 2003, 09:13:56 CEST
On Sun, May 04, 2003 at 11:26:41PM +0200, Andrzej Krzysztofowicz wrote:
> Witam.
>
> Czytelnicy commit-listy z SOURCES pewnie zauwazyli, ze wzialem sie za
> porzadki w skryptach startowych. Do zrobienia jest co najmniej:
[...]
>
> Uwagi ? Komentarze ?
Mnie brakuje jeszcze jakiegoś sensownego odpalania usług, które same
z siebie nie przechodzą w tło, nie odczepiają sie od terminala, albo
nie zmieniają uprawnień. Teraz jest rzeźbienie z "setsid", "su", "&",
a efekt końcowy jest daleki od ideału.
Mógłbym spróbować na potrzeby rc-scripts zrobić programik, powiedzmy
"daemonize", który by:
- zamykał niepotrzebne descryptory
- przechodził w tło (forkował się)
- zmieniał uid i gid na zadane
- odpalał zadany program
- podczepiał jego stdout/stderr do sysloga lub pliku
- pisał pidfile
Można byłoby wybrać które z tych rzeczy ma robić, a które pominąć.
Mógłby uruchamiać program z argv[0], aby jego nazwa zgadzała się z nazwą
uruchamianej obsługi (inaczej zdarzają się dziwne rzeczy).
Przykłady użycia dla pakietu janchor (zobaczcie jak jest teraz):
W %install pakietu (i oczywiście %files)
ln -sf /sbin/daemonize /etc/sysconfig/daemonize/janchor
W janchor.init:
daemon /etc/sysconfig/daemonize/janchor -u jabber
Zabierać się za to?
Pozdrowienia,
Jacek
Więcej informacji o liście dyskusyjnej pld-devel-pl