remove_red_eye Modalitá lettura

🔧 #howto – Utilizzo del comando ‘kill’

Problemi con questa guida? Chiedi supporto alla nostra community su Domande & Risposte

In questo articolo

  1. Sintassi
  2. Prelevare il pid
  3. Chiudere un processo
  4. Lista dei segnali
  5. Chiudere tutti i processi

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 sará:

Dove 356 é 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


info Il contenuto di questo articolo é libero alla condivisione, a patto che venga citata la fonte (linuxhub.it)


chat Discuti questo articolo con
help /gentedilinux