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 <archlinux@andrwe.org> 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 <archlinux@andrwe.org> --- 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