Programy nie odczepiające się od terminala (gpm, innwatch, vixie crond)

Michal Moskal malekith w pld.org.pl
Śro, 5 Wrz 2001, 11:40:17 CEST


On Tue, Sep 04, 2001 at 10:54:43AM +0200, Jakub Bogusz wrote:
> On Sun, Sep 02, 2001 at 03:47:12PM +0200, Michal Kochanowicz wrote:
> > On Sun, Sep 02, 2001 at 12:51:43PM +0200, Jakub Bogusz wrote:
> > > Jest jeszcze problem deskryptora 12 - pozostaje, jeżeli restart demona
> > > był robiony przez rpm (chociaż może to należy poprawić rpm, żeby po
> > > fork() przed exec() zamykał niektóre deskryptory?).
> > IMO należy poprawić rpma, choćby z tego powodu że wystarczy zrobić to w
> > jedym miejscu a nie w każdym daemonie.
> 
> Zaglądałem do rpm-a na okoliczność tego.
> Wywoływanie skryptów jest w lib/uninstall.c, funkcja runScript().
> Między fork() a execv() część deskryptorów jest zamykana, jak widać nie
> wszystkie. Niestety w tej funkcji nie bardzo wiadomo co może być jeszcze
> otwarte (a nie mam ochoty śledzić kodu między wszystkimi open() i
> close() w całym rpm-ie) - więc pozostaje chyba tylko metoda brutalna
> for(fd=3;fd<N;fd++) close(fd); (albo coś w tym stylu).

inetd jakis też tak robi. btw: może lepiej by było tym plikom ustawiać
CLOSE_ON_EXEC, albo raczej nie zdejmowac?

-- 
: Michal ``,/\/\,       '' Moskal    | |            : GCS {C,UL}++++$
:          |    |alekith      @    |)|(| . org . pl : {E--, W, w-,M}-
:                                  |                : {b,e>+}++ !tv h
: Current project:  http://aleph-0.dhs.org/ywindow/ : PLD Team member



Więcej informacji o liście dyskusyjnej pld-devel-pl