Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
kill and pid files
- X-seq: zsh-users 901
- From: Robert Stone <rstone@xxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxxx
- Subject: kill and pid files
- Date: Wed, 18 Jun 1997 00:25:30 -0700 (PDT)
I find myself using "kill -HUP $(cat /var/run/<program>.pid)"
constantly... in fact, as root I use that line much more often than using
a literal pid.
Is there any reason kill should not take a filename as an
argument? i.e. if the job specification is not a legal job name, or a
legal pid, why not try to open a file with that name and see if it's
first line is a valid pid?
Here's the idea, but this thing is horribly slow at times.
function mykill {
args=()
if ! kill "$argv[@]" 2> /dev/null
then while [ "$argv" ]
do case "$argv[1]"
in
-s)
args=("$args[@]" "$argv[1]" "$argv[2]")
shift 2
;;
-l)
args=("$args[@]" "$@")
shift "$#"
;;
-*)
args=("$args[@]" "$argv[1]")
shift
;;
*)
if echo "$argv[1]" | egrep -q '^%[0-9]+$'
then args=("$args[@]" "$argv[1]")
shift
elif echo "$argv[1]" | egrep -q '^[0-9]+$'
then args=("$args[@]" "$argv[1]")
shift
elif [ -f "$argv[1]" ] &&
head -1 "$argv[1]" | egrep -q '^[0-9]+$'
then args=("$args[@]" "$(head -1 "$argv[1]")")
shift
else args=("$args[@]" "$argv[1]")
shift
fi
;;
esac
done
kill "$args[@]"
fi
}
Messages sorted by:
Reverse Date,
Date,
Thread,
Author