[Roma.pm] SIGKILL

merlani at libero.it merlani at libero.it
Mon Jan 8 02:02:50 PST 2007


...
> > veramente io non so neanche di che caso stiamo parlando,
> 
> Be', non sarebbe male informarsi, quando si entra in un thread ;-)

non se ci si limita a fare una precisazione il cui valore e' assoluto (a prescindere dall'argomento trattato)


> > ho letto semplicemente la mail cui ho risposto e ho precisato
> > che c'e' un caso in cui sigkill non ha effetto; volendo
> > precisare ulteriormente non e' esatto dire 
> > che sigkill non e' ignorabile in quanto e' _sempre_ 
> > ignorabile;
> 
> Niente affatto: "ignorabile" vuol dire "ignorabile permanentemente" o,
> in altre parole, che tutto va esattamente come se il segnale non fosse
> mai stato inviato al processo

ignorabile significa che il destinatario del segnale puo' ignorarlo (e questo avviene sempre anche con sigkill o sigstop), il fatto che poi il kernel possa comunque intraprendere delle azioni e' irrilevante


> Il sigkill al risveglio del processo verra` invariabilmente recapitato,
> e il processo altrettanto invariabilmente verra` terminato (senza alcuna
> possibilita` di ignorare il segnale).

ripeto: continui a dare per scontato che il processo esca dallo sleep

> Lo stato di uninterruptible sleep puo` al piu` causare un recapito
> "ritardato" del segnale, ma si tratterebbe in ogni caso di un "ritardo"
> del tutto particolare, cioe` un ritardo durante il quale il processo
> comunque non avrebbe la possibilita` di compiere alcuna operazione.

nessuno dice il contrario (perlomeno io non l'ho detto); quindi a che pro questa precisazione?
 
> Mi sembra impossibile non riuscire a cogliere la differenza (neanche
> tanto sottile, per usare le tue stesse parole ;-)

e' una mia impressione o ti sei stizzito? non era mia intenzione darti fastidio (in qualunque modo io possa averti dato fastidio), resta il fatto che "un processo puo'/non puo' ignorare" non significa "un processo puo'/non puo' ignorare e far si che anche il kernel non intraprenda le azioni legate a quel segnale"

> > un processo che riceve sigkill puo' tranquillamente
> > ignorarlo, stante il fatto che 
> > comunque il kernel uccidera' il processo
> 
> Non ho capito: il processo "ignora" il sigkill perche` tanto e` il
> kernel che poi lo ammazza?! :-)

non c'e' nulla da capire mi sembra, un processo puo' ignorare qualsiasi segnale (non intraprendere azioni al suo ricevimento), stante il fatto che il kernel potra' comunque fare quel che vuole a prescindere che il processo ignori o meno il segnale

> Se la butti sul piano filosofico-soggettivistico-interpretativo, i
> concetti si possono estendere a piacimento e si puo` arrivare a
> qualsiasi conclusione.

no la butto sul significato di "ignorare" che e' tutt'altro che soggettivo o soggetto a interpretazione (almeno fino a che qualcuno non ne va a modificare la semantica)

> Purtroppo pero` in informatica le definizioni non hanno un valore
> soggettivo, e "ignorare" un segnale vuol dire che, a discrezione del
> processo e *non* del kernel, lo stato del processo viene ripristinato
> esattamente allo stato precedente il recapito del segnale, e lo stato
> della coda dei segnali del kernel viene ripristinato esattamente allo
> stato precedente l'accodamento del segnale medesimo.

questo va un po piu' in la del semplice ignorare il segnale da parte del processo; ignorare un segnale significa semplicemente che il processo ricevente non intraprende alcuna azione al suo ricevimento; se poi vogliamo usare in ambito informatico dei termini stravolgendone la semantica e' un altro conto.

> Quindi se il processo viene terminato d'imperio dal kernel, o se il
> segnale viene accodato nel kernel in attesa che il processo target si
> risvegli, il segnale _non_e`_ stato ignorato.

e' stato ignorato nel momento in cui il processo ricevente non ne tiene conto, quel che poi faccia il kernel e' irrilevante

> La differenza e` parossistica.
> Poi se vuoi continuare a giocare con le parole, fai pure.

non voler stravolgere la semantica di un termine, nel momento in cui lo si utilizza in ambito informatico, non lo definirei "giocare con le parole"; poi se tu vuoi chiamare sedie i tavolini nel momento in cui usi il termine sedia in ambito informatico fai pure, per quanto mi riguarda il discorso finisce qui, non ho intenzione di mettermi a fare lezioni sulla semantica delle parole o su come sia inopportuno stravolgerla nel momento in cui le si utilizza in ambiti particolari (come quello informatico; so bene l'interpretazione che si da al termine "ignorare" riferendosi ai segnali in tale ambito, ti ho anche citato e contestato l'interpretazione che ne da "man 7 signal", che e' esattamente quella che dai tu, resta il fatto che non concordo con questo stravolgimento della semantica ad uso e consumo informatico), quindi passo e chiudo.


-- 
Alessandro Merlani


------------------------------------------------------
Passa a Infostrada. ADSL e Telefono senza limiti e senza canone Telecom
http://click.libero.it/infostrada08gen07




More information about the Roma mailing list