Ability to kill processes of many users

This commit is contained in:
Yann Esposito (Yogsototh) 2011-10-02 18:54:07 +02:00
parent 9824873526
commit f311b1f3f2

View file

@ -6,9 +6,8 @@ function logexit {
exit 1
}
(($#<1)) && logexit "Usage: ${0:t} user"
(($#<1)) && logexit "Usage: ${0:t} user [user ...]"
victim="$1"
function stopquestion() {
print -n -- "$* (y/n): "
@ -19,15 +18,18 @@ function stopquestion() {
esac
}
case $victim in
$USER) stopquestion "Are you sure to kill your own processes?";;
init|root) stopquestion "Are you sure to kill all '$victim' processes?";;
}
local processlist
for victim in $@; do
processlist=( $(ps aux | awk '$1 == "'$victim'" {print $2}') )
case $victim in
$USER) stopquestion "Are you sure to kill your own processes?";;
init|root) stopquestion "Are you sure to kill all '$victim' processes?";;
esac
print -l -- $processlist
processlist=( $processlist $(ps aux | awk '$1 == "'$victim'" {print $2}') )
(($#processlist == 0)) && logexit "The user '$victim' doesn't run any process"
(($#processlist == 0)) && logexit "The user '$victim' doesn't run any process"
done
sudo kill -9 $processlist