【发布时间】:2011-10-26 19:11:41
【问题描述】:
以下锁定机制用于防止cron 作业同时运行:
#!/bin/bash
echo "Before critical section"
(
flock -e 200
echo "In critical section"
sleep 5
) 200>/tmp/blah.lockfile
echo "After critical section"
当同时运行两个实例时,后者会等到第一个完成,然后再运行。这可能会导致等待运行的脚本积压。
如何更改此脚本,以便如果flock 无法获取锁,它会终止脚本?我试过-n 没有成功。
【问题讨论】:
标签: bash concurrency flock