inotify 720 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env bash
  2. WORK_DIR=$1
  3. if [ ! -n "${WORK_DIR}" ] ;then
  4. WORK_DIR="."
  5. fi
  6. echo "Restarting LaravelS..."
  7. ./bin/laravels stop
  8. port=`netstat -ntlp | grep laravels | awk '{print $7}' | awk -F '/' '{print $1}'`
  9. if [ -n "$port" ]; then
  10. kill -9 $port
  11. sleep 1
  12. fi
  13. ./bin/laravels start -d -i
  14. echo "Starting inotifywait..."
  15. LOCKING=0
  16. inotifywait --event modify --event create --event move --event delete -mrq ${WORK_DIR} | while read file
  17. do
  18. if [[ ! ${file} =~ .php$ ]] ;then
  19. continue
  20. fi
  21. if [ ${LOCKING} -eq 1 ] ;then
  22. echo "Reloading, skipped."
  23. continue
  24. fi
  25. echo "File ${file} has been modified."
  26. LOCKING=1
  27. ./bin/laravels reload
  28. LOCKING=0
  29. done
  30. exit 0