Added pid to kill running version

master
Markus Koch 2016-12-23 19:37:27 +01:00
parent 4d12f43a7f
commit 049a469659
1 changed files with 18 additions and 6 deletions

View File

@ -5,6 +5,7 @@ picdir=`realpath $(dirname "${BASH_SOURCE[0]}")`
del="30m" del="30m"
sud=0 sud=0
lockfile=/tmp/updateWallpaper.lock lockfile=/tmp/updateWallpaper.lock
kill_running=0
for i in "$@"; do for i in "$@"; do
case $i in case $i in
@ -20,12 +21,16 @@ case $i in
tags="${i#*=}" tags="${i#*=}"
shift shift
;; ;;
-k|--kill*)
kill_running=1
;;
-h|--help*) -h|--help*)
echo "usage: $0 <options>" echo "usage: $0 <options>"
echo "Options:" echo "Options:"
echo " -s --start-up-delay=del Set time between start and first image request." echo " -s --start-up-delay=del Set time between start and first image request."
echo " -d --delay=del Set delay between image requests." echo " -d --delay=del Set delay between image requests."
echo " -t --tags=tags The actual search string. Special fields allowed." echo " -t --tags=tags The actual search string. Special fields allowed."
echo " -k --kill Kill a previously running instance of the script."
echo "Notes:" echo "Notes:"
echo " All times need to be formatted for the sleep command." echo " All times need to be formatted for the sleep command."
exit 1 exit 1
@ -37,13 +42,20 @@ esac
done done
if [ -e "$lockfile" ]; then if [ -e "$lockfile" ]; then
echo "Error: Lock file $lockfile exists!" kill -0 $(cat $lockfile)
echo " This most likely means another instance of the script is already running." if [ $? -eq 0 ]; then
echo " Kill it and potentially delete the lock file after that using:" if [ $kill_running -eq 0 ]; then
echo " rm $lockfile" echo "Error: Lock file $lockfile exists!"
exit 2; echo " This most likely means another instance of the script is already running."
echo " Use -k to kill the running process."
exit 2;
else
echo "Warning: Killing old process..."
kill $(cat $lockfile)
fi
fi
fi fi
touch "$lockfile" echo $$ > "$lockfile"
if [ "$sud" != "0" ]; then if [ "$sud" != "0" ]; then
sleep "$sud"; sleep "$sud";