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..9a741e1 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 + fpid=$(<"$1") + ppid=$(get_pid $2) + [ $fpid -eq $ppid ] && return 0 + fi + return 1 +} + # PIDs to be omitted by killall5 declare -a omit_pids -- 1.7.5.2