← Back to team overview

sslug-teknik team mailing list archive

Re: Hvilke processer d�d logout?

 

Morten Olsen wrote:

> Ole Tange wrote:
> >
> > Morten Olsen wrote:
> > >
> > > > >   Hvad er kriteriet for at en process dør, som følge af at jeg logger ud?
> > >
> > > Alle processer der har din login process som forfader dør når du logger
> > > ud, det vil normalt indeholde din shell og alle processor startet op fra
> > > denne. Hvis du fx. bruger det program der ikke er svaret på dit
> > > spørgsmål sørger den for at process 1 (init) overtager dit program når
> > > du logger ud, og derfor overlever det.
> >
> > OK, jeg burde naturligvis være kommet med et eksempel, hvor jeg undrer
> > mig,
> > og som modbeviser din teori (som i øvrigt også var min teori i starten
> > af
> > mine UNIX-år):
> >
> >   cat /dev/zero >/dev/null & exit
> >
> > Se, her er  cat  et barn af min login, og hvis  cat  hvade været
> > suspended,
> > så ville den også være død. Men nu kører den gladeligt videre i
> > baggrunden.
>
> Ikke på min maskine. (2.2.1, bash)

Som Morten antyder kommer det an på din shell.

Som jeg husker det gør csh (og tcsh) som du (Ole) beskriver. Dvs hvis en process
bliver smidt i baggrunden uden mulighed for at skrive til stdout (som i dit
eksempel), vil shell'en lave et-eller-andet trick som gør processen forældreløs,
noget med en dobbelt fork - eller noget i den retning.

Ksh og familie (som bash) laver ikke dette trick (i hvert fald ikke som default).

Mvh
Borup



Follow ups

References