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

原文地址:https://www.cnblogs.com/sidmeng/p/2363069.html