R: R: [Pluto-help] Processo da Uccidere !!!!

mandricus mandricus a libero.it
Mer 8 Gen 2003 09:56:41 CET


Luciano Lucini wrote:

> 
> Ho cmq salvato il tuo comando perche mi puo essere utile un'altra volta
> anche se non ho capito bene come funzia..

molto molto semplice... e' uno script che puoi eseguire (lo scrivi in un
file, imposti il file come eseguibile e lo mandi in esecuzione.

 
> #!/bin/bash

questa riga serve a specificare quale shell deve utilizzare lo script
(semmai l'utente ne avesse impostata una diversa dalla bash)


> PIDPROCESSO=ps -ax | grep go-out | awk 'fs=" " {print $2}')

qui definisci una variabile "PIDPROCESSO" (ma la potresti chiamare come
vuoi) alla quale assegni il valore del pid del processo che ti interessa
uccidere. In particolare, come vedi c'e' ps -ax | grep go-out, che
tirera' fuori come input qualcosa del tipo

root 	1000	etc.etc.etc.etc

se ci fai caso, questoi output e' ulteriormente ridirezionato con un
pipe verso l'awk, che ha impostato come fs (Field Separator) lo spazio,
e riceve il comando di stampare il secondo valore che trova nella riga
(che e' proprio il PID del processo). In pratica l'awk ha la capacita'
di "leggere" in qualche modo l'output di un comando, andando a fare dei
distinguo in base al field separator ed alla posizione in cui li riceve.
Cio' ti consente ad esempio di estrarre il PID del processo... se avessi
messi print $1, awk stamperebbe il nome dell'utente, con print $3
avrebbe stampato quello che c'e' dopo la colonna del pid... spero di
essermi spiegato.
a questo punto, ottenuto il PID e caricato in una variabile, basta fare

kill -9 $PIDPROCESSO

(quando si richiama il valore memorizzato in una variabile, nella shell,
bisogna utilizzare il simbolo $ davanti al nome della variabile).
Ovviamente questo era uno script banalissimo, ad esempio non controlla
se il processo esiste o meno, se ce n'e' in esecuzione piu' di uno, se
appartiene o meno ad un determinato utente, etc. etc. etc. 
Per maggiori info ti rimando al "Bash Programming how-to", lo trovi
tradotto in italiano sul sito del pluto (www.pluto.linux.it)

Ciao
Mandricus



More information about the pluto-help mailing list