Metti in mostra la tua personalizzazione Linux help_outline Maggiori informazioni

linux/hub è molto più di quel che vedi! info_outline Leggi le intenzioni

🔧 #howto – Utilizzo del comando 'kill'

Scritto da Mirko Brombin il Mer, 11/28/2018 - 15:25
In questa pagina
  • Caricamento..

L'applicazione non risponde alle richieste, nemmeno a quella di chiusura.
Quante volte si é presentata questa situazione?
Il comando 'kill' viene in nostro aiuto, permettendoci di forzare la chiusura di un processo, quindi dell'applicazione che non risponde.

Il comando 'kill' torna utile nel contesto produttivo, come quello di tutti i giorni. Seppur le applicazioni d'oggi seguono modelli di progettazione e sviluppo all'avanguardia rispetto anni fa, non é escluso che si verifichi tale situazione.

Sintassi

Per corretta definizione, il comando 'kill' é uno strumento in grado di impartire segnali ad uno o piú processi.

kill [opzioni] <pid>

Come vediamo nella sintassi qui sopra, é composta da 2 elementi:

  • opzioni, ossia i parametri che vogliamo passare allo strumento
  • pid, ovvero l'ID del processo a cui vogliamo trasmettere un segnale

Prelevare il pid

Il PID é facilmente individuabile, questo grazie al comando 'ps'.

Nel nostro esempio andiamo a cercare il pid di xterm:

ps -aef | grep xterm

In questo caso il risultato dará 356 che é il pid di cui abbiamo bisogno. Useremo questo numero per tutti gli altri esempi della guida.

Chiudere un processo

Se il nostro scopo é quello di terminare un processo, é bene sapere la differenza tra TERM e KILL.

Nel primo caso TERM (il segnale predefinito di 'kill'), viene inviata una istruzione al processo, permettendogli di effettuare una pulizia finale ed effettuando successivamente la chiusura.

kill 356

Mentre nel secondo caso KILL viene forzata la chiusura del processo, spesso questa soluzione puó portare a perdite di dati e danneggiamento di quelli giá salvati. É impotante tenere in considerazione che se un programma non risponde, potrebbe essere per via di una difficile operazione che sta svolgendo in background, come ad esempio un salvataggio. Interrompere il programma in questa fase potrebbe compromettere del tutto il vostro lavoro e non solo quello recente.

kill -s KILL 356

Lista dei segnali

A titolo informativo, é possibile accedere alla lista completa dei segnali standard che é possibile inviare con 'kill'. Per mostrare questa lista usiamo l'opzione -l:

kill -l

Il risultato é una lista numerata dei segnali, é possibile impartire i segnali dal loro numero o nome, successivamente alla flag -s:

 
kill -s 9 ..
kill -s SIGKILL ..

Chiudere tutti i processi

In caso fosse necessario terminare tutti i processi in esecuzione, é possibile farlo utilizzando -1 come pid del processo:

kill -s KILL -1

In questo modo in realtá verranno chiusi solo i processi che i nostri permessi utente possono raggiungere.

Per dubbi e chiarimenti, utilizzate la sezione Domande nel menu in alto o il nostro gruppo Telegram qui sotto.

Good *nix _Mirko

Etichette