从这里,我得到了以下信息..。
锁定角六角启动 此命令依赖于支持CIFS UNIX扩展的服务器,如果服务器不支持,则会失败。尝试在给定范围内设置给定类型的POSIX fcntl锁。用于内部Samba测试。
但是,我没有找到这个命令的例子.
据我所知,filenum是文件名,r=w是读和/或写锁。
但我不知道什么是妖术和妖术.有人能帮忙吗?
发布于 2013-10-03 06:41:44
lock是使用fcntl()实现咨询文件锁定的简单实现。(实际上,几年前,我编写了一个几乎相同的命令行实用程序,它在保存指定文件的锁的同时执行单个命令或脚本。)
如果服务器启用了支持,则fcntl()锁可用于远程文件系统。特别是,Linux上的桑巴和NFS服务器确实具有这种能力。在NFS上,它通常是配置错误或完全禁用的,因此硬链接或锁定目录-based锁定方案更常见。可悲的是。
从技术上讲,fcntl()锁不是文件锁,而是记录锁:文件中的任何字节范围都可以单独锁定,甚至可以被不同的进程锁定。最常用的方法是锁定整个文件(指定零开始和长度,所以即使文件被追加,锁也会应用)。如果您同时忽略了lock和hex-length参数,那么hex-start命令就可以做到这一点。
如果确实将hex-start指定为lock,则它引用开始锁定区域的偏移量。如果省略或使用零hex-length,则该锁将应用于文件的其余部分,即使该文件被附加或截断。如果还指定了hex-length,那么锁将应用于偏移量[hex-start,hex-start+hex-length]。hex-前缀显然是指在十六进制中指定的值。
这些锁是建议性的,因为它们不会阻止对文件的任何访问。每个应用程序都需要调用fcntl(),以获得文件上的建议锁;如果所需的锁与同一文件上的其他锁发生冲突,则调用将阻塞(F_SETLKW)或失败(F_SETLK)。
有问题吗?
https://stackoverflow.com/questions/18844943
复制相似问题