From 906afa4bdb6c2cf1980311a4f771a5af872d04b5 Mon Sep 17 00:00:00 2001 From: Charadon Date: Wed, 10 Aug 2022 00:57:13 -0400 Subject: Hopefully solved the locking once and for all --- dscip | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/dscip b/dscip index 99915ee..520a169 100755 --- a/dscip +++ b/dscip @@ -55,19 +55,18 @@ set -u if [ -f "$WORKING_DIRECTORY/LOCK" ]; then LOCKED_PID=$(cat "$WORKING_DIRECTORY/LOCK") # shellcheck disable=SC2009 - if ps -aux | grep -w "[^]]$LOCKED_PID" > /dev/null; then - echo "Script still running. Exiting..." - exit 0 - else - echo "Script not running, resetting lock..." - rm "$WORKING_DIRECTORY/LOCK" - fi + for i in $(pgrep -f "$0"); do + if [ "$i" = "$LOCKED_PID" ]; then + echo "Script still running. Exiting..." + exit 0 + fi + done + echo "Script not running. Removing old lock." + rm -f "$WORKING_DIRECTORY/LOCK" fi echo "$$" > "$WORKING_DIRECTORY/LOCK" - - build () { # Remove old output rm -f "$WORKING_DIRECTORY"/output.txt -- cgit 1.4.1-2-gfad0