Как убить все процессы по имени в linux?

Есть некий скрипт zavis.sh, при выполнении которого что-то пошло не так и расплодилось множество процессов. Для их уничтожения подойдёт следующий скрипт:

#!/bin/bash

if [ -z "$1" ]; then
    echo "You need to supply a search string..."
else
    processes=$(ps aux | grep $1 -i | awk -F ' ' '{print $2}' | xargs)
    echo "Processes: "$processes
    while true; do
        read -ep "Are you sure you want kill all '$1' processes? [y/N] " yesno
        case $yesno in
            [Yy]* )
                echo 'Killing processes...'
                for i in $processes; do kill $i; done
                echo "Processes Killed: " $processes
                break;;
            * )
                echo "Skipped killing processes..."
                break;;
        esac
    done
fi

Выполнение:

./kill-scripts.sh zavis
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: