base/utils/exec.zeek

Exec

A module for executing external command line programs.

Namespace

Exec

Imports

base/frameworks/input

Summary

Types

Exec::Command: record

Exec::Result: record

Functions

Exec::run: function

Function for running command line programs and getting output.

Detailed Interface

Types

Exec::Command
Type

record

cmd: string

The command line to execute. Use care to avoid injection attacks (i.e., if the command uses untrusted/variable data, sanitize it with safe_shell_quote).

stdin: string &default = "" &optional

Provide standard input to the program as a string.

read_files: set [string] &optional

If additional files are required to be read in as part of the output of the command they can be defined here.

uid: string &default = rFj3eGxkRR5 &optional

The unique id for tracking executors.

Exec::Result
Type

record

exit_code: count &default = 0 &optional

Exit code from the program.

signal_exit: bool &default = F &optional

True if the command was terminated with a signal.

stdout: vector of string &optional

Each line of standard output.

stderr: vector of string &optional

Each line of standard error.

files: table [string] of string_vec &optional

If additional files were requested to be read in the content of the files will be available here.

Functions

Exec::run
Type

function (cmd: Exec::Command) : Exec::Result

Function for running command line programs and getting output. This is an asynchronous function which is meant to be run with the when statement.

Cmd

The command to run. Use care to avoid injection attacks!

Returns

A record representing the full results from the external program execution.