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