Process type

Running or finished process

Methods

$()(p:Process) Source: stdlib.ngs:4984
Run a process
.(p:Process, field:Str) Source: stdlib.ngs:4663
Get process "stdout"

Parameters

field"stdout"

Returns

Str
.(p:Process, field:Str) Source: stdlib.ngs:4679
Get process "stderr"

Parameters

field"stderr"

Returns

Str
.=(p:Process, field:Str, v:Any) Source: stdlib.ngs:4671
Set process "stdout"

Parameters

field"stdout"

Returns

Unspecified, do not count on this value
.=(p:Process, field:Str, v:Any) Source: stdlib.ngs:4687
Set process "stderr"

Parameters

field"stderr"

Returns

Unspecified, do not count on this value
ExitCode(p:Process) Source: stdlib.ngs:4877
Convert Process to exit code. Waits for the process to finish and uses its exit code. To be used for NGS process exit such as in "ngs -e 'my_code(); $(ls)'".
finished_ok(p:Process) Source: stdlib.ngs:4702
Decide whether process finished normally: exit code must be 0. Note that processes terminated by a signal will have .exit_code null.

Parameters

pany process

Returns

bool
finished_ok(p:Process)deprecated Source: stdlib.ngs:4710
Decide whether a process finished normally: OK for any process that has "nofail:" option

Example

$(nofail: ls no-such-file)
finished_ok(p:Process, field_name:Str, ok:NumRange)internal Source: stdlib.ngs:4719
Decide whether a process finished normally.

Example

$(ok:0..10 ls no-such-file)
finished_ok(p:Process, field_name:Str, ok:Arr)internal Source: stdlib.ngs:4725
Decide whether a process finished normally.

Example

$(ok:[0,1,2] ls no-such-file)
finished_ok(p:Process, field_name:Str, ok:Int)internal Source: stdlib.ngs:4733
Decide whether a process finished normally.

Example

$(ok:1 ls no-such-file)  # No exception
$(ok:10 ls no-such-file) # ProcessFail exception
finished_ok(p:Process, field_name:Str, ok:Bool)internal Source: stdlib.ngs:4739
Decide whether a process finished normally.

Example

# 'ok' option is set to true when the value is missing after ':'
$(ok: ls no-such-file)
finished_ok(p:Process)internal Source: stdlib.ngs:4749
Decide whether a process with 'ok' option finished normally.

Example

$(ok:0..10 ls no-such-file)
$(ok:[0,1,2] ls no-such-file)
$(ok:1 ls no-such-file)  # No exception
$(ok:10 ls no-such-file) # ProcessFail exception
$(ok: ls no-such-file)
finished_ok(p:Process) Source: stdlib.ngs:4764
Decide whether a process with 'ok_sig' option finished normally.

Example

p=$(sleep 10 &); p.kill(); p.wait()  # ProcessFail exception in wait()
p=$(ok_sig:SIGNALS.TERM sleep 10 &); p.kill(); p.wait()  # No exception
finished_ok(p:Process) Source: stdlib.ngs:4778
Decide whether a process finished normally for known programs that return also non-zero exit codes which do not signal a failure.

Example

$(test -f my_file_that_might_be_present)
$(fuser my_file)  # On Linux, exit code 1 means file is not used
init(p:Process, c:Command) Source: stdlib.ngs:4809
Process constructor. Initializes fields.
inspect(p:Process) Source: stdlib.ngs:6029
Inspect Process

Returns

Lines
kill(p:Process, sig:Int=15) Source: stdlib.ngs:5270
Send signal to a Process. Uses KILL(2). Throws InvalidArgument if Process does not have "pid". Throws KillFail on error.

Parameters

sigSignal to send. Defaults to SIGNALS.TERM

Returns

unspecified at this time, do not count on it
lines(p:Process) Source: stdlib.ngs:5338
Wait for the process and return lines of its stdout.

Returns

Arr of Str

Example

$(seq 10 2 20).lines().map(Int)  # [10,12,14,16,18,20]
lines(p:Process, cb:Fun) Source: stdlib.ngs:5346
Iterate lines of Process' stdout, calling cb with successive lines. Warning: current implementation waits for the process to finish, accumulates all its stdout, and only then starts calling cb for each line.
Str(p:Process) Source: stdlib.ngs:4896
Wait for the process to finish and return its standard output.

Returns

Str
wait(p:Process) Source: stdlib.ngs:4832
Wait for a process. Waits for reading and writing threads to finish. Waits for the process to finish. Checks whether to throw ProcessFail using finished_ok().

Returns

p