Script bash con kill processo thunderbird

Ciao a tutti! Sul pc della morosa, ho creato uno script bash sul desktop, in modo tale da farle killare thunderbird quando si blocca (l’interfaccia grafica non riesce a killarlo, perciò bisogna agire da terminale. Thunderbird 7 installato su Fedora 14 si blocca causa freepops…)

Non essendo proprio agevole per lei utilizzare il terminale, ho costruito questa script:

#!/bin/bash
set -x
for i in `ps aux | grep thunder | grep -v grep | awk '{print $2}'`
do
kill -9 "$i"

done
sleep 5
 exit 0

Ho messo lo sleep 5 perché vorrei che si fermasse per qualche secondo a farmi vedere i processi killati (dal momento che > output.txt non funzionava) solo che, una volta effettuata la kill dei processi, quindi terminato il ciclo, la script esce e non si considera nessun comando dopo il done (nè prima).

Idee? Suggerimenti? E’ solo una miglioria, mi piacerebbe riuscire anche ad ottenere un file di output… Non capisco perché esca senza considerare altro!

Grazie!

Non ci vedo nulla di strano, ho fatto un prova e tutto funziona correttamente:

[michele@phoenix ~]$ cat kt
#!/bin/bash
set -x
for i in `ps aux | grep thunder | grep -v grep | awk '{print $2}'`
do
	kill -9 "$i"
done

sleep 5

exit 0 
[michele@phoenix ~]$ ps aux | grep thunder
inail    12966  7.2  1.6 599404 52208 ?        Sl   13:46   0:01 /usr/lib64/thunderbird-3.1/thunderbird-bin
inail    12999  0.0  0.0 103376   828 pts/0    S+   13:47   0:00 grep --color=auto thunder
[michele@phoenix ~]$ sh -x kt
+ set -x
++ ps aux
++ awk '{print $2}'
++ grep thunder
++ grep -v grep
+ for i in '`ps aux | grep thunder | grep -v grep | awk '\''{print $2}'\''`'
+ kill -9 12966
+ sleep 5
+ exit 0
[michele@phoenix ~]$

come suggerimenti:

  • pkill/pgrep

  • aggiungi al pannello in alto un “mini-commander” o meglio
    un “Force quit”.

ciao
R.

ma funziona lo sleep? a me no… quello è il problema

non è più semplice dare un diretto:

$ killall thunderbird-bin

mh… interessante! grazie!!

si funziona.

R.