# Install wait_on with Homebrew, MacPorts

Provides shell scripts with access to kqueue(3). Version 1.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:wait_on
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wait_on
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wait_on
```

  Evidence: MacPorts ports tree: sysutils/wait_on/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:wait_on
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wait_on>
- **Version:** 1.1
- **Source summary:** Provides shell scripts with access to kqueue(3)
- **Homepage:** <https://www.freshports.org/sysutils/wait_on/>
- **Upstream docs:** <https://man.freebsd.org/cgi/man.cgi?query=wait_on>
- **License:** BSD-4-Clause
- **Source archive:** <https://pkg.freebsd.org/ports-distfiles/wait_on-1.1.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- wait_on (cli)
- wait_on (alias)

## Build dependencies

- bmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.1
- Local data: ok
- Upstream repository: https://www.freshports.org/sysutils/wait_on/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

`wait_on` is a small FreeBSD-oriented command that exposes file and directory change notifications to shell scripts. It lets scripts sleep until a watched path changes instead of polling in a loop.

### Project history

The FreeBSD manual page gives the clearest project history: `wait_on` was written by Andrew Stevenson in January 2002 under FreeBSD 4.4. Its design is tied directly to kqueue, the BSD kernel event-notification facility that had recently made file, directory, and descriptor events available without busy polling.

### How it is used

The command waits on one or more files or directories and exits when a requested event occurs. The manual gives examples such as watching a mailbox for writes, waiting for files to arrive in an incoming FTP directory, or using `-i` and `-t` so a script can tell which watched path changed or timed out.

Internally, `wait_on` uses kqueue's vnode notifications, including events for writes, extension, deletion, renames, link-count changes, attribute changes, and revocation. That makes it a compact bridge between shell scripting and kernel event delivery on systems with kqueue.

### Why package nerds care

This is a classic small Unix package: one command, one system primitive, and a clean scripting use case. It is historically interesting because it predates the later wave of cross-platform file-watcher tools and shows early BSD users solving shell automation without periodic `stat` polling.

### Timeline

- January 2002: `wait_on` was written under FreeBSD 4.4 by Andrew Stevenson.
- 2000s onward: the command remained useful as a shell-level wrapper around kqueue file and directory events.

### Related projects

- The closest related primitive is kqueue itself. In the broader file-watching family, `wait_on` overlaps conceptually with inotify-based Linux tools and higher-level cross-platform watchers, but it stays intentionally close to the FreeBSD kernel interface.

### Sources

- <https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2>
- <https://man.freebsd.org/cgi/man.cgi?query=wait_on>
- <https://www.freshports.org/sysutils/wait_on/>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** wait_on
- **Version Scheme:** 0
- **Revision:** 0
- **Requirements:** macos
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - wait_on: normalized package name match | MacPorts ports tree: sysutils/wait_on/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [bmake](https://www.automicvault.com/pkg/brew/bmake/) - Build dependency declared by Homebrew.
- [kqwait](https://www.automicvault.com/pkg/brew/kqwait/) - Shares av.db curated category or tags: cli, file-monitoring, kqueue, system.
- [fsevent_watch](https://www.automicvault.com/pkg/brew/fsevent-watch/) - Shares av.db curated category or tags: cli, file-monitoring, system.
- [fsevents-tools](https://www.automicvault.com/pkg/brew/fsevents-tools/) - Shares av.db curated category or tags: cli, file-monitoring, system.
- [abduco](https://www.automicvault.com/pkg/brew/abduco/) - Shares av.db curated category or tags: cli, system.
- [acl](https://www.automicvault.com/pkg/brew/acl/) - Shares av.db curated category or tags: cli, system.
- [acpica](https://www.automicvault.com/pkg/brew/acpica/) - Shares av.db curated category or tags: cli, system.
- [afio](https://www.automicvault.com/pkg/brew/afio/) - Shares av.db curated category or tags: cli, system.
- [afsctool](https://www.automicvault.com/pkg/brew/afsctool/) - Shares av.db curated category or tags: cli, system.
- [wait-on](https://www.automicvault.com/pkg/npm/wait-on/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, system, wait, wait-on.
- [wait-on](https://www.automicvault.com/pkg/npm/wait-on/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/wait_on.yml](https://github.com/automic-vault/db/blob/main/combined/wait_on.yml)


## Sources

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