防止shell脚本被重复执行

左心房为你撑大大i 提交于 2020-03-04 03:28:43
 1 #!/bin/bash
 2 LOCK_NAME="/tmp/my.lock"
 3 if ( set -o noclobber; echo "$$" > "$LOCK_NAME") 2> /dev/null; 
 4 then
 5 trap 'rm -f "$LOCK_NAME"; exit $?' INT TERM EXIT
 6 
 7 ### 开始正常流程
 8 
 9 sh /app/system.sh
10 sleep 30
11 ### 正常流程结束
12 
13 ### Removing lock
14 rm -f $LOCK_NAME
15 trap - INT TERM EXIT
16 else
17 echo "Failed to acquire lockfile: $LOCK_NAME." 
18 echo "Held by $(cat $LOCK_NAME)"
19 exit 1
20 fi
21 echo "Done."
22  
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!