diff options
Diffstat (limited to 'functions/lockfile.sh')
-rwxr-xr-x | functions/lockfile.sh | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/functions/lockfile.sh b/functions/lockfile.sh new file mode 100755 index 000000000..9eb2f9b12 --- /dev/null +++ b/functions/lockfile.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +# lockfile.sh - handle lock files + +set -e + +Check_lockfile () +{ + LOCKFILE="${1}" + + # Checking lock file + if [ -f "${LOCKFILE}" ] + then + echo "E: system locked" + exit 1 + fi +} + +Create_lockfile () +{ + LOCKFILE="${1}" + LOCKDIRECTORY="`dirname ${1}`" + + # Creating lock directory + if [ ! -d "${LOCKDIRECTORY}" ] + then + mkdir -p "${LOCKDIRECTORY}" + fi + + # Creating lock file + trap "test -f ${LOCKFILE} && \ + rm -f ${LOCKFILE}; exit 0" 0 2 15 + + touch "${LOCKFILE}" +} |