diff options
-rwxr-xr-x | dscip | 17 |
1 files 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 |