Um während einer Scriptausführung eine parallele Ausführung des selben Scirpts zu verhindern, kann man dazu ein Lockfile einsetzen.
Hier ein Beispiel wie der Lock aufgebaut werden kann:
#!/bin/bash
lockfile=~/lockfile.lock
# Check is Lock File exists, if not create it and set trap on exit
if { set -C; 2>/dev/null >${lockfile}; }; then
trap "rm -f ${lockfile}" EXIT
else
echo "Lock file exists… exiting"
exit
fi
# Do Something, Main script work here…
echo "I am a script and I am doing something… anything…"
sleep 30
Weitere Beispiele und Möglichkeiten finden sich hier: