[Linuxtrent] Re: ritorno di kill(all) (era: troppo lungo e fuorviante...)

  • From: Daniele Pizzolli <ors@xxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Fri, 27 Mar 2009 20:20:16 +0100

On Tuesday 24 March 2009 13:56:28 Flavio Stanchina wrote:

Scusate il ritardo,
parlavamo un po' di queste cose lunedì anche al corso linea di comando.

> A che serve salvare il PID in un file se poi uccidi tutti gli ucarp con
> killall?

D'accordo.

> Se usi start-stop-daemon per avviare il demone, perché non 
> usarlo anche per ucciderlo?

Esatto. Questa sarebbe la cosa da fare.

> Che succede se usi killall e ci sono due ucarp su interfacce diverse?

Disastri...

> Ed in ogni caso:
> killall returns a zero return code if at least one process has been
> killed for each listed command [...] killall returns  non-zero otherwise.
>
> Quindi se non eseguiva il rm è perché killall non uccideva nessun processo.

Mmm, qui le cose sono un po' più complicate, in realtà kill e killall
ritornato /vero/ se il segnale è stato inviato, non se ha avuto
l'effetto desiderato (visto che non possono saperlo).
Più o meno questo era l'esempio:

$ jobs
$ cat &
[1] 8581

[1]+  Stopped                 cat
$ killall cat && echo killed
killed
$ jobs
[1]+  Stopped                 cat
kill 8581 && echo killed
killed
$ jobs
[1]+  Stopped                 cat
$ killall -KILL cat && echo killed
killed
[1]+  Killed                  cat
$ jobs
$

Direi che l'approccio migliore è start-stop-daemon con --retry, in modo
che si assicuri che il processo sia realmente terminato. Confesso
comunque di non averlo mai testato fino in fondo.

Buona serata,
Daniele Pizzolli
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts:

  • » [Linuxtrent] Re: ritorno di kill(all) (era: troppo lungo e fuorviante...) - Daniele Pizzolli