Bash -e存在检查阻止文件删除?

时间:2014-09-28 05:39:24

标签: bash synchronization

我有一个创建锁文件〜/ process.lock

的进程

我希望在该过程结束后立即执行命令,所以我写了

while [ -e ~/process.lock ]
do
:
done
#do stuff after process has ended

显然,这会阻止父进程删除process.lock。 这件事发生了吗?如果是,为什么?什么是正确的方法。

1 个答案:

答案 0 :(得分:0)

实际上,问题可能不是-e测试,而是紧密循环,延迟任何其他事件发生,尤其是在只有一个(逻辑)核心的系统上。添加睡眠无疑会有所帮助,您可能会发现sleep命令接受小于1的参数,因此您可以注意到该文件很快消失。