bash 学习笔记3

    shell 脚本之间的同步:

    java中的同步比较简单,无外乎就是synchronize,lock,读写锁,condition之类的。shell脚本之间通过创建lock文件来同步。

    如:

  

declare -r INVOICES_LOCKFILE=”/var/lock/invoices_lock”
while test ! -f “$INVOICES_LOCKFILE” ; do
printf “Waiting for invoices to be printed...\n”
sleep 10
done
touch “$INVOICES_LOCKFILE”

 

    检查lock文件,如果不存在就生成lock文件,去做任务,任务结束后删除掉lock文件,当然可以加入一些超时的操作。

 

    此外,还可以使用NamedPipe,使用命令mkfifo生成一个namedpipe,类似于shell脚本中的pipe

posted on 2012-02-22 14:15  萌@宇  阅读(135)  评论(0编辑  收藏  举报

导航