最近看到很多讨论如何能不让脚本重复执行的问题,实际就是文件锁的概念,写了一个小例子:
把这个作为文件开头不会产生重复执行的情况。(我想两个执行脚本的文件名一模一样应该不会经常出现吧)
#!/bin/bash LockFile() { find /dev/shm/* -maxdepth 0 -type l -follow -exec unlink {} \; [ -f /dev/shm/${0##*/} ] && exit ln -s /proc/$$ /dev/shm/${0##*/} trap "Exit" 0 1 2 3 15 22 24 } Exit() { unlink /dev/shm/${0##*/}; exit 0; } LockFile # main program # program ... ... # Exit
|
阅读(319) | 评论(0) | 转发(0) |