The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Zombie processo ruben.rodrigues Shell scripting e di programmazione 2 03-11-2009 11:13 AM
zombie processo jeenat Linux 5 03-28-2008 07:36 AM
processo demone zombie! rish2005 UNIX e avanzata per utenti esperti 1 11-25-2005 09:59 AM
Zombie processo swhitney UNIX e avanzata per utenti esperti 2 10-22-2004 06:12 PM
Zombie processo Orca UNIX for Dummies Domande & Risposte 8 04-26-2002 03:54 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 07-01-2009
password636 password636 is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2008
Località: Cina
Interventi: 6
processo init adotta zombie?

Salve
Ho cercato di creare un processo di zombie con il seguente programma:
Codice:
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;
}
Sono in grado di osservare la "Z" Stato con il comando ps, ma questo processo zombie (il processo figlio), esiste solo nella durata della sua risoluzione per la sua società madre di terminazione. Io non aspettare () il processo figlio nella casa madre, perché non esiste la zombie processo termina dopo la madre?

In <apue2>,
Citazione:
Ma che cosa succede se la madre termina prima del figlio? La risposta è
che il processo init diventa il genitore di qualsiasi processo di cui
termina madre. Noi diciamo che il processo è stato ereditato da init. Cosa
normalmente accade è che quando un processo termina, il kernel va
attraverso tutti i processi attivi, per vedere se il processo si chiude il
madre di qualsiasi processo che ancora esiste.
La mia comprensione è questa: dal momento in cui il genitore termina, se ci sono processi figli già chiuso e ancora in corso, init adotta il funzionamento quelli, non quelli già terminati. (non il "attivi" e "esiste ancora" in apue2 significa questo?) Quindi uno zombie processo figlio non sarà adottato da init. Nel mio caso, dal momento in cui il genitore termina, il bambino non è "attivo" e non sarà adottato da init.

Inoltre, il processo figlio nel mio programma scompare subito dopo la madre termina. Come ho descritto, non credo che questo è fatto da init, che poi ha fatto?
  #2 (permalink)  
Old 07-02-2009
robsonde robsonde is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2007
Interventi: 162
Quindi, ciò che è con la zombie?

Un processo zombie è un processo che ha completato l'esecuzione, ma ha ancora una voce nel processo tabella. Questa voce è ancora necessario per consentire il processo che è iniziato il (ora zombie) processo di leggere il suo stato in uscita. Il termine deriva dal processo di zombie la definizione comune di zombie (un undead persona)
Nel termine del colorato metafora, il processo figlio è morto, ma non è ancora stato raccolto.
Zombies possono essere identificati in uscita dal comando UNIX ps dalla presenza di una "Z" nel "STAT" colonna. Zombies che esistono da più di un breve periodo di tempo in genere indicano un bug nel programma di genitore, la presenza di un qualche zombi non è preoccupante in sé, ma può indicare un problema grave che crescono sotto i carichi più pesanti. Poiché non vi è memoria allocata per i processi zombie fatta eccezione per il processo di entrata tabella stessa, la preoccupazione principale di molti zombie non è in esecuzione di memoria, ma piuttosto esaurirsi numeri ID di processo.
Per rimuovere da un sistema di zombie, rimuovere il processo genitore. Quando un processo perde la sua società madre, init diventa la sua nuova madre. Init esegue periodicamente l'attesa chiamata di sistema a raccogliere qualsiasi zombi con init come genitore.
  #3 (permalink)  
Old 07-02-2009
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Iscriviti Data: marzo 2005
Location: nodo foglia in B + tree
Messaggi: 2.957
Citazione:
dal momento in cui il genitore termina, se ci sono processi figli già chiuso e ancora in corso, init adotta il funzionamento quelli
Init adotterà solo i processi per i quali non vi è alcun processo padre che è attualmente in vita (o una fessura nel processo tabella entrata) non è più, ma nel suo caso, bambino è uscito prima della sua entrata zombie e stato per la madre di raccogliere lo stato del processo figlio creato. Poiché il processo padre del bambino è molto viva (in modalità sleep) init che non possono adottare, e una volta terminato il processo padre, figlio statistiche vengono raccolte e non vi è alcuna necessità che il processo figlio di rimanere come zombie e diventa completamente esonerato .
  #4 (permalink)  
Old 07-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderatore ala Mode
  
 

Iscriviti Data: febbraio 2007
Località: Innsbruck, Austria
Messaggi: 1.886
A destra, in modo da poter cercare il rilascio di un kill -9 al processo padre prima che il programma va a zombie. Poi si dovrebbe ottenere raccolti da init.
Reply

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 08:48 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0