Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Rapidly invoke (flood) a command.



flood [-d delay] [-j maxjobs] [-n count] command [argument ...]

flood repeatedly invokes a command with a short delay between invocations. It does not wait for previous invocations to finish. Output is discarded, but results are summarily reported using single characters:

Character Meaning
. Command invoked
* Command completed successfully
! Command completed with an error status
@ Error invoking the command

A tally of the number of invocations, successes and failures is printed when the program terminates, by SIGINT (Ctrl+C) or otherwise, or when sent SIGINFO (Ctrl+T) on supported systems like BSD and macOS.

The name and inspiration come from the ping(1) -f option.

The following options are supported:

-d delay

Minimum delay between command executions, in miliseconds. Defaults to 100 (10 per second).

-j maxjobs

Limits the number of simultaneously running commands. Once reached, flood waits for previously invoked commands to complete before starting a new one. Defaults to 0, which means no limit.

-n count

Limits the total number of command invocations. Once reached, flood waits for all previously launched commands to complete, prints a tally, and exits. Defaults to 0, which means no limit.


Flood with 100 requests using curl(1) then print a tally:

$ flood -n100 curl

Repeatedly run the sleep(1) utility as quickly as possible, but never have more than 10 running at the same time:

$ flood -d0 -j10 sleep 1


Should build without changes on Unix-like systems. If not, please file an issue on GitHub. To build:


There are install and uninstall targets, too. PREFIX is set to /usr/local by default.


By Sijmen J. Mulder (