JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Cluster Reference Manual
search filter icon
search icon

Document Information

Preface

Introduction

OSC33 1

OSC33 1cl

OSC33 1ha

OSC33 1m

cconsole(1M)

ccp(1M)

chosts(1M)

cl_eventd(1M)

cl_pnmd(1M)

cports(1M)

crlogin(1M)

cssh(1M)

ctelnet(1M)

halockrun(1M)

hatimerun(1M)

pmfadm(1M)

pmfd(1M)

rpc.pmfd(1M)

scconf(1M)

scconf_dg_rawdisk(1M)

scconf_dg_svm(1M)

scconf_dg_vxvm(1M)

scconf_quorum_dev_netapp_nas(1M)

scconf_quorum_dev_quorum_server(1M)

scconf_quorum_dev_scsi(1M)

scconf_transp_adap_bge(1M)

scconf_transp_adap_ce(1M)

scconf_transp_adap_e1000g(1M)

scconf_transp_adap_eri(1M)

scconf_transp_adap_ge(1M)

scconf_transp_adap_hme(1M)

scconf_transp_adap_ibd(1M)

scconf_transp_adap_qfe(1M)

scconf_transp_jct_etherswitch(1M)

scconf_transp_jct_ibswitch(1M)

scdidadm(1M)

scdpm(1M)

sceventmib(1M)

scgdevs(1M)

scinstall(1M)

scnas(1M)

scnasdir(1M)

scprivipadm(1M)

scprivipd(1M)

scrgadm(1M)

scsetup(1M)

scshutdown(1M)

scsnapshot(1M)

scstat(1M)

scswitch(1M)

sctelemetry(1M)

scversions(1M)

scvxinstall(1M)

sc_zonesd(1M)

OSC33 3ha

OSC33 4

OSC33 5

OSC33 5cl

OSC33 7

OSC33 7p

Index

halockrun

- run a child program while holding a file lock

Synopsis

/usr/cluster/bin/halockrun [-nsv] [-e exitcode] lockfilename

 prog [args]

Description

The halockrun utility provides a convenient means to claim a file lock on a file and run a program while holding that lock. As this utility supports script locking, this utility is useful when programming in scripting languages such as the Bourne shell. See sh(1).

halockrun opens the file lockfilename and claims an exclusive mode file lock on the entire file. See fcntl(2). Then it runs the program prog with arguments args as a child process and waits for the child process to exit. When the child exits, halockrun releases the lock, and exits with the same exit code with which the child exited.

The overall effect is that the child prog is run as a critical section, and that this critical section is well-formed, in that no matter how the child terminates, the lock is released.

If the file lockfilename cannot be opened or created, then halockrun prints an error message on stderr and exits with exit code 99.

You can run this command in the global zone or in a non-global zone. The command affects only the global or non-global zone in which you issue the command.

Options

The following options are supported:

-e exitcode

Normally, errors detected by halockrun exit with exit code 99. The -e option provides a means to change this special exit code to a different value.

-n

The lock should be requested in non-blocking mode: if the lock cannot be granted immediately, halockrun exits immediately, with exit code 1, without running prog. This behavior is not affected by the -e option.

Without the -n option, the lock is requested in blocking mode, thus, the halockrun utility blocks waiting for the lock to become available.

-s

Claim the file lock in shared mode, rather than in exclusive mode.

-v

Verbose output, on stderr.

Exit Status

Errors detected by halockrun itself, such that the child process was never started, cause halockrun to exit with exit code 99. (This exit code value can be changed to a different value using the -e option. See OPTIONS.

Otherwise, halockrun exits with the same exit code with which the child exited.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
SUNWscu
Interface Stability
Evolving

See Also

fcntl(2), attributes(5)