The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Zombie proces ruben.rodrigues Shell Programmering og Scripting 2 03-11-2009 11:13 AM
Zombie proces jeenat Linux 5 03-28-2008 07:36 AM
Zombie daemon proces! rish2005 UNIX for Advanced & Ekspertsøgning Brugere 1 11-25-2005 09:59 AM
Zombie proces swhitney UNIX for Advanced & Ekspertsøgning Brugere 2 10-22-2004 06:12 PM
Zombie proces ORCA UNIX for dummyer Spørgsmål & svar 8 04-26-2002 03:54 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-01-2009
password636 password636 is offline
Registreret Bruger
  
 

Join Date: Feb 2008
Beliggenhed: Kina
Stillinger: 6
init vedtager Zombie proces?

Hej
Jeg forsøgte at oprette en Zombie proces med følgende program:
Code:
int main(void)
{
        pid_t pid;
        int status;

        if ((pid = fork()) < 0)
                perror("fork error");
        else if (pid == 0){ /* child process*/
                exit(0);
        }
        printf("child process ID: %d\n", pid);
        sleep(10);

        return 0;
}
Jeg kan observere "Z" tilstand med ps kommando, men dette Zombie-processen (barnet processen) eksisterer kun i den periode fra sin opsigelse til sit moderselskab opsigelse. Jeg kan ikke vente () barnet i moderselskabet, så hvorfor ikke den Zombie proces eksisterer efter moderselskabets udtraeder?

I <apue2>,
Citat:
Men hvad sker der, hvis den forælder opsiger før barnet? Svaret er
at init proces bliver moderselskabet proces af enhver proces, hvis
moderselskabet udtræder. Vi siger, at processen er blevet arvet fra init. Hvad
normalt sker, er, at når en proces opsiger kernen går
gennem alle aktive processer for at se, om afslutning af processen er den
moderselskab for enhver proces, der stadig eksisterer.
Min forståelse er, at på det tidspunkt, hvor moderselskabet udtraeder, hvis der er barn processer allerede opsagt og stadig kører, init vil vedtage kører dem, ikke allerede opsagt dem. (ikke den "aktive" og "stadig eksisterer" i apue2 betyder dette?) Så en Zombie barn processen ikke vil blive vedtaget af init. I mit tilfælde, med den tid, moderselskabet opsiger barnet ikke "aktive" og vil ikke blive vedtaget af init.

Desuden har barnet i mit program forsvinder umiddelbart efter moderselskabets udtræder. Som jeg beskrev, jeg tror ikke, dette gøres ved at init, så der gjorde?
 

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 10:25 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0