Skip to main content



This component is mostly stable but breaking changes could still be made outside of major version releases if a fundamental problem with the component is found.

Executes a command, runs it as a subprocess, and consumes messages from it over stdout.

# Common config fields, showing default values
label: ""
name: ""
args: []
codec: lines
restart_on_exit: false

Messages are consumed according to a specified codec. The command is executed once and if it terminates the input also closes down gracefully. Alternatively, the field restart_on_close can be set to true in order to have Benthos re-execute the command each time it stops.

The field max_buffer defines the maximum message size able to be read from the subprocess. This value should be set significantly above the real expected maximum message size.

The execution environment of the subprocess is the same as the Benthos instance, including environment variables and the current working directory.



The command to execute as a subprocess.

Type: string
Default: ""

# Examples
name: cat
name: sed
name: awk


A list of arguments to provide the command.

Type: array
Default: []


The way in which messages should be consumed from the subprocess.

Type: string
Default: "lines"
Options: lines.


Whether the command should be re-executed each time the subprocess ends.

Type: bool
Default: false


The maximum expected size of an individual message.

Type: int
Default: 65536