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