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 = q3FkxySjt2a &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.

Parameters

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

Returns

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