Ah, you beat me to it! Thanks. I'll have a look and test at the next opportunity.
-t On Fri, Jun 10, 2011 at 5:00 PM, Andrwe Lord Weber <[email protected]> wrote: > Implemented suggestions of Dave. > > get_pid: > Arguments: programname > Returns: PID of program > ck_pidfile: > Arguments: PID-file programname > Returns: 0 - PID in PID-file is of program > 1 - PID in PID-file is not of program > > Signed-off-by: Andrwe Lord Weber <[email protected]> > --- > functions | 15 +++++++++++++++ > 1 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/functions b/functions > index adf4ea9..1b077bf 100644 > --- a/functions > +++ b/functions > @@ -231,6 +231,21 @@ ck_status() { > fi > } > > +# Return PID of $1 > +get_pid() { > + pidof -o %PPID $1 || return 1 > +} > + > +# Check if PID-file $1 is still the active PID-file for command $2 > +ck_pidfile() { > + if [[ -f "$1" ]]; then > + read -r fpid <"$1" > + ppid=$(get_pid $2) > + [[ "$fpid" = "$ppid" ]] && return 0 > + fi > + return 1 > +} > + > # PIDs to be omitted by killall5 > declare -a omit_pids > > -- > 1.7.5.2 > > >
