subprocess input
Executes a command, runs it as a subprocess, and consumes messages from it over stdout.
- Common
- Advanced
# Common config fields, showing default values
input:
label: ""
subprocess:
name: "" # No default (required)
args: []
codec: "lines"
restart_on_exit: false
# All config fields, showing default values
input:
label: ""
subprocess:
name: "" # No default (required)
args: []
codec: "lines"
restart_on_exit: false
max_buffer: 65536
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 Expanso Edge 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 Expanso Edge instance, including environment variables and the current working directory.
Fields
name
The command to execute as a subprocess.
Type: string
args
A list of arguments to provide the command.
Type: array of string
Default: []
codec
The way in which messages should be consumed from the subprocess.
Type: string
Default: "lines"
Options: lines
restart_on_exit
Whether the command should be re-executed each time the subprocess ends.
Type: bool
Default: false
max_buffer
The maximum expected size of an individual message.
Type: int
Default: 65536
Re-executing the command
The description above names restart_on_close as the field that re-runs the command each time it stops. The field is restart_on_exit; restart_on_close is rejected at submission with Unknown field 'restart_on_close'.
input:
subprocess:
name: tail
args: ["-F", "/var/log/app.log"]
restart_on_exit: true