英语法语西班牙语

Ad


OnWorks 网站图标

羊群 - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管提供商中运行集群

这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管提供商中运行的命令集群

程序:

您的姓名


federation - 通过 shell 脚本管理锁

概要


羊群 [选项] 文件|目录 命令 [参数]
羊群 [选项] 文件|目录 -c 命令
羊群 [选项]

商品描述


该实用程序管理 羊群(2) 从 shell 脚本内或从命令行锁定。

上述形式的第一个和第二个将锁包裹在 a 的执行中 命令,
以类似于 su(1)或 新组(1). 他们锁定指定的 文件 or 目录,这
如果尚不存在,则创建(假设有适当的权限)。 默认情况下,
如果无法立即获取锁, 羊群 等待直到锁可用。

第三种形式通过文件描述符使用打开的文件 。 请参阅下面的示例
了解如何使用它。

配置


-c, - 命令 命令
通过单 命令,不带参数,到 shell -c.

-E, --冲突退出代码
退出时使用的代码 -n 选项正在使用,并且存在冲突锁,
或者 -w 选项正在使用,并且已达到超时。 默认值为 1.

-e, -x, - 独家的
获取排他锁,有时称为写锁。 这是默认设置。

-n, --nb, --非阻塞
如果无法立即获取锁,则失败而不是等待。 请参阅 -E
所使用的退出代码的选项。

-o, - 关闭
执行前关闭持有锁的文件描述符 命令。 这
很有用,如果 命令 产生一个不应该持有锁的子进程。

-s, - 共享
获取共享锁,有时称为读锁。

-u, - 开锁
放下一把锁。 这通常不是必需的,因为锁会自动删除
当文件关闭时。 但在特殊情况下可能需要,例如
如果随附的命令组可能派生了一个不应出现的后台进程
持有锁。

-w, - 等待, - 暂停
如果无法在时间内获取锁则失败 。 小数分数值为
允许。 请参阅 -E 所使用的退出代码的选项。 零个数 is
解释为 --非阻塞.

--详细
报告获取锁花费了多长时间,或者无法获取锁的原因。

-V, - 版
显示版本信息并退出。

-h, - 帮帮我
显示帮助文本并退出。

示例


shell1> 羊群 / tmp目录 -c 猫
shell2> 群 -w .007 / tmp目录 -c 回显; /斌/回声 $?
对目录设置排它锁 / tmp目录 第二个命令将失败。

shell1> 群 -s / tmp目录 -c 猫
shell2> 羊群 -s -w .007 / tmp目录 -c 回显; /斌/回声 $?
对目录设置共享锁 / tmp目录 第二个命令不会失败。 注意
尝试使用第二个命令获取独占锁将会失败。

shell>集群-x本地锁定文件回显'abc'
在使用“ab c”运行 echo 之前获取独占锁“local-lock-file”。

(
群-n 9 || 1号出口
# ...在锁定状态下执行的命令...
) 9>/var/lock/mylockfile
这种形式在 shell 脚本中很方便。 用于打开文件的模式
没关系 羊群; 使用 > or >> 允许创建锁文件(如果有)
尚不存在,但是需要写权限。 使用 < 要求
该文件已存在,但只需要读取权限。

[“${FLOCKER}”!=“$0”] && exec env FLOCKER=“$0”flock -en“$0”“$0”“$@”|| :
这是 shell 脚本的有用样板代码。 把它放在外壳的顶部
您想要锁定的脚本,它会在第一次运行时自动锁定自己。 如果
env var $FLOCKER 未设置为正在运行的 shell 脚本,然后执行
集群并获取独占非阻塞锁(使用脚本本身作为锁
文件),然后使用正确的参数重新执行自身。 它还设置了 FLOCKER
env var 为正确的值,这样它就不会再次运行。

退出 状态


该命令使用 sysexits.h 返回所有内容的值,除非使用其中任何一个
选项 -n or -w 报告获取锁失败,返回值由
-E 选项,或默认为 1。

使用时 命令 变体,并执行子进程,则退出状态为
子命令的那个。

使用onworks.net 服务在线使用flock


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad