Manpages

NAME(名 称 )

lockfile - 条 件 标 志 文 件 创 建 命 令

SYNOPSIS(总 览 )

lockfile -sleeptime | -r retries |
-l
locktimeout | -s suspend | -! | -ml | -mu | filename ...

DESCRIPTION(描 述 )

lockfile可 以 用 来 创 建 一 个 或 多 个 信 号 量 (semaphore) 文 件 .如 果 lockfile不 能 创 建 所 有 指 定 的 文 件 (按 照 指 定 的 顺 序 ),那 么 它 会 等 待 一 段 休 眠 期 (sleeptime) (默 认 为 8秒 )并 从 不 成 功 的 最 后 一 个 文 件 开 始 重 试 .你 可 以 指 定 失 败 返 回 之 前 重 试 (retries) 的 次 数 . 如 果 retries 的 次 数 设 为 -1(默 认 地 ,也 即 -r-1) lockfile会 永 远 重 试 下 去 . 如 果 在 所 有 文 件 创 建 之 前 retries 的 次 数 已 经 满 了 ,lockfile会 返 回 失 败 的 信 息 并 删 除 所 有 已 经 创 建 的 文 件 . 在 shell脚 本 中 使 用 lockfile作 为 循 环 的 条 件 可 以 很 容 易 地 通 过 使 用 -! 标 识 反 向 退 出 的 状 态 来 实 现 .为 了 防 止 无 限 循 环 ,除 了 lockfile已 经 存 在 以 外 的 任 何 原 因 的 失 败 都 不 会 反 向 为 成 功 状 态 ,而 是 仍 然 以 失 败 状 态 返 回 . 所 有 标 识 可 以 在 命 令 行 中 的 任 何 地 方 指 定 ,碰 到 它 们 就 进 行 处 理 .命 令 行 简 单 地 由 左 至 右 进 行 解 析 . 所 有 通 过 lockfile创 建 的 文 件 都 是 只 读 的 ,因 此 必 须 使 用 rm -f 来 删 除 . 如 果 你 指 定 了 一 个 locktimeout 那 么 lockfile会 在 lockfile最 后 一 次 修 改 /创 建 之 后 locktimeout秒 过 后 强 制 性 地 删 除 (很 可 能 是 一 些 其 它 程 序 意 外 死 掉 很 长 一 段 时 间 后 造 成 不 能 清 除 残 余 的 lockfiles).Lockfile不 受 时 钟 偏 差 的 影 响 .在 lockfile强 制 被 清 除 之 后 ,延 迟 的 suspend 秒 (默 认 为 16)开 始 计 数 ,这 是 为 了 防 止 无 意 的 直 接 删 除 了 任 何 由 另 一 程 序 新 创 建 的 lockfile(与 procmail(1)) 中 的 SUSPEND 比 较 ).

Mailbox locks (邮 箱 锁 定 ) 如 果 系 统 邮 件 spool目 录 有 权 限 允 许 它 ,或 者 如 果 lockfile正 好 被 setgid了 ,那 么 它 可 以 通 过 使 用 相 应 的 选 项 -ml-mu lock和 unlock你 的 系 统 邮 箱 .

EXAMPLES(示 例 )

假 设 你 想 确 定 访 问 文 件 "important"是 串 行 的 ,也 即 ,没 有 其 它 程 序 或 shell脚 本 允 许 访 问 它 .为 了 简 省 起 见 ,让 我 们 假 定 它 是 一 个 shell脚 本 .在 这 个 例 子 中 ,你 应 该 像 这 样 解 决 :

... lockfile important.lock ... access_"important"_to_your_hearts_content ... rm -f important.lock ... 现 在 如 果 所 有 访 问 "important"的 脚 本 按 照 这 条 规 则 ,你 就 可 以 确 保 在 ’lockfile’和 ’rm’命 令 之 间 至 多 只 有 一 个 脚 本 在 执 行 .

ENVIRONMENT(环 境 变 量 )

LOGNAME 用 作 隐 含 变 量 以 确 定 调 用 者 的 登 录 名

FILES(相 关 文 件 )

/etc/passwd 为 了 验 证 和

/或 纠 正 调 用 者 的 登 录 名 (如 果 需 要 的 话 ,同

时 也 是 为 了 找 出 HOME目 录 )

/var/spool/mail/$LOGNAME.lock 系 统 邮 箱 的 lockfile,出 现 在 其 中 的 环 境 变 量 不 由 系 统 的 环 境 变 量 决 定 ,而 是 会 通 过 在 /etc/passwd中 查 找 确 定 .

SEE ALSO (另 见 )

rm(1), mail(1), binmail(1), sendmail(8), procmail(1)

DIAGNOSTICS(诊 断 )

Filename too long,... 使 用 更 短 的 文 件 名

.

Forced unlock denied on "x" 没 有 对 lockfile "x"所 存 放 的 目 录 的 写 的 权 限 ,或 者 超 过 一 个 lockfile几 乎 同 时 正 在 试 图 强 制 lock.

Forcing lock on "x"

lockfile "x"因 为 超 时 的 缘 故 将 要 强 制 删 除 (与 procmail(1)) 中 的 LOCKTIMEOUT 作 比 较 ).

Out of memory,...

系 统 交 换 空 间 溢 出 .
Signal received,...

Lockfile将 删 除 到 此 为 止 创 建 的 所 有 文 件 并 终 止 .

Sorry,...

retries 限 制 已 经 到 达 .

Truncating "x" and retrying lock

"x"看 上 去 不 是 有 效 的 文 件 名 .

Try praying,... 缺 失 子 目 录 或 者 权 限 不 够

.

BUGS

确 实 少 于 一 个 .

WARNINGS(警 告 )

-! 标 识 的 操 作 行 为 ,尽 管 有 用 ,但 是 并 不 很 直 接 或 一 致 .当 测 试 lockfile的 返 回 值 时 ,shell脚 本 编 写 者 应 该 仔 细 考 虑 是 使 用 -! 标 识 简 单 地 作 反 向 测 试 ,还 是 对 原 来 的 退 出 代 码 执 行 一 次 转 换 . 通 常 , -! 标 识 应 该 只 用 在 lockfile是 循 环 的 条 件 之 时 .

MISCELLANEOUS(杂 项 )

Lockfile不 兼 容 NFS,而 且 八 位 还 原 .

NOTES(备 注 )

使 用 -h或 -?选 项 调 用 lockfile会 使 得 它 显 示 命 令 行 方 式 的 帮 助 页 .使 用 -v选 项 调 用 会 使 得 它 显 示 版 本 信 息 . 多 个 -! 标 识 会 切 换 返 回 状 态 . 因 为 标 识 可 以 出 现 在 命 令 行 的 任 何 位 置 ,所 以 任 何 一 个 以 ’-’开 头 的 文 件 名 必 须 加 ’./"在 前 面 . 当 任 何 接 在 后 面 的 文 件 正 在 创 建 (也 即 ,它 们 正 在 使 用 )时 , retries 的 次 数 不 能 重 新 设 置 .不 过 ,它 可 以 通 过 在 命 令 行 上 指 定 -rnewretries 于 每 个 文 件 之 后 来 重 新 设 置 . 尽 管 任 何 名 字 的 文 件 都 可 用 作 lockfiles,通 常 习 惯 还 是 使 用 扩 展 名 为 ’.lock’的 文 件 来 lock邮 件 文 件 夹 (它 添 加 于 邮 件 夹 名 之 后 ).如 果 不 想 担 心 文 件 名 太 长 了 ,也 不 必 遵 从 任 何 其 它 的 lockfilename的 习 惯 ,那 么 一 个 最 好 的 方 法 就 是 通 过 添 加 前 缀 ’lock.’来 生 成 一 个 与 已 经 存 在 的 文 件 相 应 的 lockfilename,并 且 在 其 后 添 加 锁 定 文 件 的 i-node数 .

SOURCE(源 自 )

该 程 序 为 http://www.procmail.org/或; 者 ftp.procmail.org的 pub/procmail/procmail mail-processing-package (v3.14)的 一 部 分 .

MAILINGLIST(邮 件 列 表 )

有 一 个 针 对 procmail包 中 任 何 程 序 相 关 问 题 的 邮 件 列 表 :

<procmail-users [AT] procmail.org> 用 来 提 交 问 题 /答 案 .
<procmail-users-request [AT] procmail.org> 用 来 请 求 订 阅 . 如 果 你 想 即 时 获 得 新 版 本 和 公 开 补 丁 的 通 告 ,请 发 订 阅 请 求 到
procmail-announce-request [AT] procmail.org

(这 是 一 个 只 读 列 表 ).

AUTHOR

Stephen R. van den Berg

<srb [AT] cuci.nl>

[中 文 版 维 护 人 ]

riser <boomer [AT] ccidnet.com>

[中 文 版 最 新 更 新 ]

2001/08/08

《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh