Automic VaultAutomic Vault

brew

Install lockrun with Homebrew, apk

Run cron jobs with overrun protection. Version 1.1.3 via Homebrew; verified 2026-05-19.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install lockrun

local Homebrew formula metadata

overview

Package summary

Run cron jobs with overrun protection

Commands and aliases

  • lockrun

history

Project history and usage

lockrun is a small public-domain Unix utility by Steve Friedl for running cron jobs with overrun protection. It wraps a command, takes an advisory file lock, and prevents overlapping invocations from piling up.

Project history

The official Unixwiz.net page explains that lockrun was created in response to network-monitoring cron jobs that could run longer than their schedule interval. The tool was designed as a protective wrapper that checks whether another protected instance is already running before launching the requested command.

lockrun is distributed as portable C source code rather than through a hosted source repository. The official page documents building it with `gcc lockrun.c -o lockrun` and installing it into `/usr/local/bin`.

Adoption history

The tool's natural audience is Unix administrators with cron jobs that must not overlap, especially polling and monitoring jobs. It was tested on FreeBSD and Linux, received a report of working on Mac OS X, and later gained portability work such as Solaris `lockf()` support.

Homebrew and Alpine packaging made the small C utility easier to install without manually downloading and compiling the source file.

How it is used

A typical crontab entry invokes `lockrun --lockfile=/var/run/name.lockrun -- command`. If the lock cannot be acquired, lockrun exits instead of launching a second copy; `--wait`, `--quiet`, `--verbose`, and `--maxtime` adjust behavior.

The official documentation warns that the lockfile should be placed in a directory protected from other users and not in `/tmp`, because a writable directory could enable symlink attacks against the lockfile path.

Why package nerds care

lockrun is package-manager-relevant because it solves a narrow operations problem with one C file and no daemon. It overlaps with `flock(1)` patterns, but its documented cron-oriented interface made it a remembered admin tool.

Its packaging story is also a reminder that not every useful Unix package has a modern VCS repository; sometimes the authoritative upstream is a source file and a carefully written HTML manual.

Timeline

  • 2006: Initial lockrun release.
  • 2009: Solaris 10 `lockf()` support was added.
  • 2010: `--quiet` parameter was added.
  • 2012: Documentation about no kill option, `--retries`, and `setsid()` support were added.

Related projects

  • flock(1), run-one, and daemon supervisors solve adjacent locking or single-instance execution problems.
  • Cacti poller scripts are used in the official documentation as a motivating cron example.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
lockruncliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.1.3
manager updated2026-05-19
local dataok
upstreamnot checked
latest detectednot detected

http://unixwiz.net/tools/lockrun.html

install metadata

Package metadata

Package keybrew:lockrun
Version1.1.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/lockrun
Homepagehttp://unixwiz.net/tools/lockrun.html
Upstream docshttp://unixwiz.net/tools/lockrun.html
LicenseLicenseRef-Homebrew-public-domain
Source archivehttp://unixwiz.net/tools/lockrun.c
Last updated2026-05-19T13:03:29-04:00
Pulseupdated
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namelockrun
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedyes
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

apk95%

lockrun 1.1.3-r1

Run cron job with overrun protection

http://unixwiz.net/tools/lockrun.html

sudo apk add lockrun
  • License: Public-Domain
  • Architecture: x86_64
  • Source Package: lockrun
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Lockrun
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: lockrun from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment