Exec a process¶
Dixer provides a way to execute a process. This will be a program, a batch, or cli command.
To do this create a job with type process
.
Keys:
process_path
: optional. The path of the process or process itself. String.process_path_var
: optional. Variable with process to execute. String.arguments
: optional. list of arguments and options. Array string.arguments_var
: optional. list of variables with arguments and options. Array string.save_output
: optional. Specified if the output will be saved. Bool.save_output_var
: optional. Variable with save output value bool. String.output_path
: optional. The path of the output of process executed. String.output_path_var
: optional. Variable with output path. String.timeout
: optional. A timeout in seconds for stop the execution when is reached. Int.timeout_var
: optional. Variable with timeout in seconds. String.start_in
: optional. The execution directory of the process. String.start_in_var
: optional. Variable with the execution directory of the process. String.expected_code
: optional. A expected_code to make this job succedd. Int. Default0
.expected_code_var
: optional. Variable with expected_code integer. String.
If save_output
is true
then a output path need to be specified.
Example:
[[jobs]]
id = 'process_job'
name = 'Ping google 3 times'
type = 'process'
ignore_error = true
disable = false
process_path = 'ping'
arguments = [
'google.com',
'-n',
'3',
]
output_path = 'PATH_TO_SAVE_OUTPUT'
timeout = 0
expected_code = 0
save_output = true
Tip
You can save the output in a variable setting the output_path
to variable::var_name
Warning
On Windows, if process path and at least one argument contains spaces the job will create a temporal .bat file in same directory that Dixer binary. This is a work around of this bug. This work around can be fail for complex command.