31 lines
698 B
Bash
Executable file
31 lines
698 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
# kill all other processes
|
|
|
|
function logexit {
|
|
print -P -- "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
(($#<1)) && logexit "Usage: ${0:t} user"
|
|
|
|
victim="$1"
|
|
|
|
function stopquestion() {
|
|
print -n -- "$* (y/n): "
|
|
read answer
|
|
case $answer in
|
|
y|Y) print -- "OK you've been warned!";;
|
|
*) exit 0 ;;
|
|
esac
|
|
}
|
|
|
|
case $victim in
|
|
$USER) stopquestion "Are you sure to kill you own processes?";;
|
|
init|root) stopquestion "Are you sure to kill all '$victim' processes?";;
|
|
}
|
|
|
|
processlist=( $(ps aux | awk '{print $1" "$2}' | egrep '(krystelle|bastien|anna|jc)' | awk '{print $2}') )
|
|
|
|
(($#processlist == 0)) && logexit "No process for user $victim"
|
|
|
|
sudo kill -9 $processlist
|