/usr/cluster/bin/halockrun [-nsv] [-e exitcode] lockfilename prog [args]
halockrun 实用程序提供了一个便捷的方式对文件声明文件锁并在持有该锁时运行程序。因为该实用程序支持脚本锁定,所以当以脚本语言(例如 Bourne shell)编程时,该实用程序非常有用。请参见 sh(1)。
halockrun 打开文件 lockfilename 并对整个文件声明独占模式文件锁。请参见 fcntl(2)。然后它将带有参数 args 的程序 prog 作为子进程运行并等待子进程退出。子进程退出时,halockrun 释放该锁并以该子进程退出时所使用的同一退出代码退出。
整体效果为子进程 prog 作为临界部分运行并且该临界部分格式正确,因为无论子进程如何终止,都会释放该锁。
如果无法打开或创建文件 lockfilename,halockrun 将在 stderr 上显示错误消息并退出,退出代码为 99。
支持以下选项:
通常,由 halockrun 检测到的错误以退出代码 99 退出。–e 选项可以将该特殊退出代码更改为其他值。
应在非阻塞模式中请求锁:如果无法立即授予锁,halockrun 将立即以退出代码 1 退出,而不运行 prog。该行为不会受到 –e 选项影响。
如果没有 –n 选项,将在阻塞模式中请求锁,因此 halockrun 实用程序会阻止等待该锁变为可用。
在共享模式而不是在独占模式中声明文件锁。
详细输出,位于 stderr 上。
错误由 halockrun 自身检测,因此从不会启动子进程,导致 halockrun 以退出代码 99 退出。(使用 –e 选项可以将该退出代码值更改为其他值。请参见“选项”部分。
否则,halockrun 以该子进程退出时所使用的同一退出代码退出。
有关下列属性的说明,请参见 attributes(5):
|