Ability to kill processes of many users
This commit is contained in:
parent
9824873526
commit
f311b1f3f2
1 changed files with 12 additions and 10 deletions
14
assassinate
14
assassinate
|
@ -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
|
||||
}
|
||||
|
||||
local processlist
|
||||
for victim in $@; do
|
||||
|
||||
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
|
||||
|
||||
processlist=( $(ps aux | awk '$1 == "'$victim'" {print $2}') )
|
||||
|
||||
print -l -- $processlist
|
||||
processlist=( $processlist $(ps aux | awk '$1 == "'$victim'" {print $2}') )
|
||||
|
||||
(($#processlist == 0)) && logexit "The user '$victim' doesn't run any process"
|
||||
|
||||
done
|
||||
|
||||
sudo kill -9 $processlist
|
||||
|
|
Loading…
Reference in a new issue