Your company here ā€” click to reach over 10,000 unique daily visitors

lckdo - Man Page

run a program with a lock held

Examples (TL;DR)


lckdo [options] {lockfile} {program} [arguments]


lckdo runs a program with a lock held, in order to prevent multiple processes from running in parallel. Use just like nice or nohup.

Now that util-linux contains a similar command named flock, lckdo is deprecated, and will be removed from some future version of moreutils.



If the lock is already held by another process, wait for it to complete instead of failing immediately.

-W {sec}

The same as -w but wait not more than sec seconds.


Execute the program directly without forking and waiting (keeps an extra file descriptor open).

-E {nnn}

Set the file descriptor number to keep open when exec()ing (implies -e).


Do not create the lock file if it does not exist.


Produce no output if lock is already held.


Lock in shared (read) mode.


Lock in exclusive (write) mode (default).


Test for lock existence.

Exit Status

If the lock was successfully acquired, the return value is that of the program invoked by lckdo. If the lock couldn't be acquired, EX_TEMPFAIL is returned. If there was a problem opening/creating or locking the lock file, EX_CANTCREAT or EX_OSERR will be returned.


Michael Tokarev


2007-08-15 moreutils