Guest User

Untitled

a guest
Oct 17th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. if mkdir $LOCKDIR
  2. then
  3. # Do important, exclusive stuff
  4. if rmdir $LOCKDIR
  5. then
  6. echo "Victory is mine"
  7. else
  8. echo "Could not remove lock dir" >&2
  9. fi
  10. else
  11. # Handle error condition
  12. ...
  13. fi
  14.  
  15. #Remove the lock directory
  16. function cleanup {
  17. if rmdir $LOCKDIR; then
  18. echo "Finished"
  19. else
  20. echo "Failed to remove lock directory '$LOCKDIR'"
  21. exit 1
  22. fi
  23. }
  24.  
  25. if mkdir $LOCKDIR; then
  26. #Ensure that if we "grabbed a lock", we release it
  27. #Works for SIGTERM and SIGINT(Ctrl-C)
  28. trap "cleanup" EXIT
  29.  
  30. echo "Acquired lock, running"
  31.  
  32. # Processing starts here
  33. else
  34. echo "Could not create lock directory '$LOCKDIR'"
  35. exit 1
  36. fi
  37.  
  38. #!/bin/bash
  39.  
  40. # Exit if /tmp/lock.file exists
  41. [ -f /tmp/lock.file ] && exit
  42.  
  43. # Create lock file, sleep 1 sec and verify lock
  44. echo $$ > /tmp/lock.file
  45. sleep 1
  46. [ "x$(cat /tmp/lock.file)" == "x"$$ ] || exit
  47.  
  48. # Do stuff
  49. sleep 60
  50.  
  51. # Remove lock file
  52. rm /tmp/lock.file
  53.  
  54. for LINE in `lsof -c <your_script> -F p`; do
  55. if [ $$ -gt ${LINE#?} ] ; then
  56. echo "'$0' is already running" 1>&2
  57. exit 1;
  58. fi
  59. done
  60.  
  61. #!/bin/bash
  62.  
  63. me=$(basename $0);
  64. running=$(ps h -C $me | grep -v $$ | wc -l);
  65. [[ $running > 1 ]] && exit;
  66.  
  67. # do stuff below this comment
  68.  
  69. #!/bin/sh
  70.  
  71. [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock "$0" "$0" "$@" || exit 1
  72.  
  73. echo "servus!"
  74. sleep 10
  75.  
  76. #!/bin/bash
  77.  
  78. # Check if another instance of script is running
  79. pidof -x $0 >/dev/null && echo "ERROR: Script $0 already running" && exit 1
  80.  
  81. ...
Add Comment
Please, Sign In to add comment