Come questi concetti di processo sono legati insieme - background
, zombie
, daemon
e without controlling terminal
?
Sento che sono in qualche modo vicini, soprattutto attraverso il concetto di controlling terminal
, ma non ho ancora molte informazioni per raccontare una storia, come se dovessi spiegare qualcosa a un bambino che legge un articolo su Linux senza mentire troppo.
AGGIORNAMENTO N. 1: Ad esempio (non so se sia vero)
background
-zombie
- Il processo in primo piano non può diventarezombie
, perchézombie
è un processo in background che è stato lasciato senza un genitoredaemon
-without ctty
- tuttidaemons
funzionano senzactty
, ma non tutti i processi senza loctty
sonodaemons
background
-daemon
- abackground process
può essere recuperato per essere eseguito nuovamente in modo interattivo,daemon is not
zombie
-without ctty
-zombie
è indifferente se vi èctty
attaccato o nobackground
-without ctty
-processes
inviati sullo sfondo mentre hannoctty
, e diventano demoni o muoiono sectty
viene preso da loro
fork()
disattivare una copia di te stesso, usarloexec()
in quella copia per sostituirlo con ciò che si desidera eseguire e utilizzarewait()
nell'istanza originale del programma (non nella copia eseguitaexec()
). Nel brevissimo periodo tra il momento in cui il bambino esce e il momento in cuiwait()
viene ripristinato lo stato di uscita (rimuovendolo dalla tabella dei processi e restituendolo al chiamante), si ha uno zombi.