Eseguire kill -9 di una lista di processi tramite grep

Mi è capitato di avere su una macchina una serie di processi lanciati da un crontab che si sono bloccati ed era quindi necessario terminarli manualmente tramite il comando kill.

Dato che si trattava di processi tutti uguali era facile individuarli tramite ps afx ed eventualmente eseguire un grep per selezionare solamente quelli necessari, ho quindi trovato una serie di comandi che permettono di eseguire automaticamente il kill dei processi selezionati tramite grep.

Conviene quindi prima assicurarsi di eseguire il grep dei soli processi interessati ed in seguito di lanciare il comando per killare i processi giusti.

Nell'esempio si prenderanno in considerazione tutti i processi del browser chromium.

Per controllare di aver scelto la stringa giusta per il grep occorre eseguire il comando seguente che mostra solamente la lista dei processi che saranno forniti come argomento al comando kill:

ps ax | grep chromium | grep -v grep

Una volta controllati i processi e verificato che siano tutti e soli quelli che vogliamo killare possiamo eseguire il comando che permetterà di eseguire il kill di tutti i processi interessati:

kill -9 `ps ax | grep chromium | grep -v grep | awk '{print $1}'`

una volta eseguito questo comando (eventualmente anteponendo sudo per eseguirlo come root) è possibile verificare tramite il comando ps afx che i processi siano stati terminati.