Newsgroup: it.comp.os.linux.iniziare
Titolo: shutdown

Qualcuno mi puo' spiegare come avviene il processo di shutdown? Dalla 
man page ho capito che viene inviata una notifica agli utenti, poi un 
SIGTERM seguito da un SIGKILL (quanto tempo passa tra uno e l'altro?) a 
tutti i processi. Solo che non riesco a capire come si dividono i 
compiti /sbin/shutdown e init. Voglio dire: fino a che punto agisce 
shutdown e quando invece il lavoro e' fatto da init per il cambio di 
runlevel? Da quello che ho capito shutdown si limita a mandare un 
messaggio a tutti gli utenti e poi a chiamare 'init 0'. Giusto? Oppure 
manda anche il SIGTERM e init manda solo il SIGKILL?
-- 
Devaraja (Xdevaraja87^gmail^c0mX)
Linux Registerd User #338167
http://counter.li.org

 Qualcuno mi puo' spiegare come avviene il processo di shutdown? Dalla
]zac[
Lo shutdown è semplicemente un passaggio ad un diverso livello di init, che,
guarda caso, effettua lo shutdown.
Ad ogni chiamata di un livello di init vengono eseguiti una serie di script
che eseguono l'avvio/arresto dei vari servizi presenti nel sistema.
Molto spesso lo script che gestisce l'avvio di un altro livello di init
esegue altre operazioni di preparazione e terminazione dell'operazione tipo
mandare messaggi agli utenti, chiudere forzatamente (KILL) tutti i processi
che per qualche motivo non sono stati arrestati normalmente, smontare tutte
le partizioni, ecc. .
Gli script di gestione dei servizi risiedono spesso in ' /etc/rc.d ':
ls /etc/rc.d :
init.d  rc  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local  rc.ok 
rc.sysinit
Praticamente sempre (anche se non è obbligatorio) il livello 0 (' rc0.d ')
esegue l'arresto del sistema.
P.S. con un motore di ricerca web trovi un sacco di documentazione, anche
per chi ha iniziato da poco.

Giuseppe Della Bianca ha scritto:

Grazie. Ho trovato un po' di roba. Pero' non ho trovato una risposta a 
questa domanda: che differenza c'e' tra usare shutdown e init 0? Solo la 
possibilita' di controllare la pausa e quelle poche altre cose?


 possibilita' di controllare la pausa e quelle poche altre cose?
Per prima cosa lasciati dire vergogna vergogna (prego, non offendersi), poi
da man shutdown :
....
       ecc.  Shutdown  fa il suo lavoro segnalandolo al processo init,
chiedendogli di cambiare il runlevel. Il runlevel 0 è
       usato per fermare (halt) il sistema, il runlevel 6 è usato per il
....
man shutdown dovrebbe chiarirti gli altri dubbi.
------
Comunque tieni sempre a mente che su linux quasi niente è obbligatorio che
funzioni in una certa maniera, spesso di tratta di tradizione, standard di
fatto, configurazioni facente parti di accordi come linux base.
In sintesi, non dare per scontato, prova e controlla.

 In sintesi, non dare per scontato, prova e controlla.
Provato: '#init 0' manda SIGTERM e dopo 5 secondi circa SIGKILL a tutti 
i processi. Mentre '#shutdown -h now' fa la stessa cosa ma prima 
visualizza un messaggio di avvertimento. Almeno queste sono le uniche 
differenze che io, utente niubbo di computer desktop, ho notato.


 i processi. Mentre '#shutdown -h now' fa la stessa cosa ma prima
]zac[
Forse non è chiaro una cosa, PRIMA init 0 esegue una serie di script per il 
NORMALE arresto dei servivi, poi viene lanciato TERM/KILL per stroncare i
processi che EVENTUALMENTE sono rimasti 'anormalmente' ancora attivi.
In sintesi TERM/KILL vengono usati SOLO per emergenza e/o per stroncare la
resistenza dei processi ribelli allo scopo di garantire sempre e comunque
l'arresto del sistema, e NON E' il NORMALE metodo di arresto dei
servizi/programmi.