首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

用mkdir兑现互斥操作可行吗

2013-01-08 
用mkdir实现互斥操作可行吗?看到一些资料说,unix下面的mkdir是原子的,也就是互斥的。所以想用这个命令来解

用mkdir实现互斥操作可行吗?
看到一些资料说,unix下面的mkdir是原子的,也就是互斥的。
所以想用这个命令来解决shell程序的多次启动问题。
具体思路如下,

mkdir /home/test/temp
if[ $? -gt 0 ]; then
成功
else
已经启动了失败
fi

如果同时启动shell程序,只有一个能mkdir成功
这种思路有什么问题吗?多谢大家探讨啊。

[解决办法]
不确定mkdir是原子的
从网上搜了下
http://bbs.chinaunix.net/archiver/tid-690239-page-4.html
[解决办法]
trap "rmdir /tmp/lock" 0
方便一些吧,后续shell可以随时终止
而不需要在每个exit之前,都显式调用一下rmdir
[解决办法]
flock锁是基于文件的,会随进程的终止而自动释放

热点排行