added lockfile handling to snapshot script (necessary since fbgrab must run in bg not to block the buttons while gaming)

This commit is contained in:
Vincent-FK 2021-01-04 19:14:15 +01:00
parent af69d8d030
commit 7c8666a5b3
1 changed files with 22 additions and 4 deletions

View File

@ -1,18 +1,36 @@
#!/bin/sh #!/bin/sh
SNAPSHOT_DIR=/mnt/funkey/snapshots
# Uncomment the following line to get debug info
#set -x
# Check args # Check args
if [ ${#} -ne 0 ]; then if [ ${#} -ne 0 ]; then
echo "Usage: $(basename ${0})" echo "Usage: $(basename ${0})"
exit 1 exit 1
fi fi
# Lock file (necessary since fbgrab must run in bg not to block the buttons while gaming)
LOCK_FILE="/var/lock/snap.lock"
if [ -f "${LOCK_FILE}" ]; then
#echo "${LOCK_FILE} already exists"
exit 1
fi
touch "${LOCK_FILE}"
# Increment name and save snapshot
SNAPSHOT_DIR=/mnt/funkey/snapshots
mkdir -p "${SNAPSHOT_DIR}" mkdir -p "${SNAPSHOT_DIR}"
last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_\([0-9]\+\)\.PNG$/\1/') last=$(cd ${SNAPSHOT_DIR}; ls IMG_*.PNG 2> /dev/null | tail -1 | sed 's/^IMG_\([0-9]\+\)\.PNG$/\1/')
if [ "x${last}" = "x" ]; then if [ "x${last}" = "x" ]; then
last=1 last=1
else else
let last++ last=$(expr $last + 1)
fi fi
snapshot_file=$(printf "IMG_%04d.PNG" $last) snapshot_file=$(printf "IMG_%04d.PNG" $last)
fbgrab "${SNAPSHOT_DIR}/${snapshot_file}" notif_set 2 " NEW SCREEENSHOT ${snapshot_file}"
notif_disp 2 " CAPTURE TO ${snapshot_file}" fbgrab "${SNAPSHOT_DIR}/${snapshot_file}" &
# Remove lock file
rm -f "${LOCK_FILE}"
exit 0 exit 0