Process type
Methods
- $()(p:Process) Source: stdlib.ngs:6685
Run a process
- $()(p:Process) Source: stdlib.ngs:6807
Mock external processes - record
- =~(x:Process, cp:CommandsPipeline, mc:MatchContext) Source: stdlib.ngs:7070
Match process based on argv and options
- ExitCode(p:Process) Source: stdlib.ngs:6539
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(p:Process) Source: stdlib.ngs:6480
Undocumented
- finished_ok(p:Process) Source: stdlib.ngs:6370
Decide whether process finished normally: exit code must be 0. Note that processes terminated by a signal will have .exit_code null. Parameters
p any process Returns
bool
- finished_ok(p:Process, field_name:Str, ok:NumRange)internal Source: stdlib.ngs:6377
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:6383
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:6391
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:6397
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:6407
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:6422
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:6436
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:6461
Process constructor. Initializes fields.
- init(pf:ProcessFail, process:Process)
Undocumented
- kill(p:Process, sig:Int=15) Source: stdlib.ngs:7031
Send signal to a Process. Uses KILL(2). Throws InvalidArgument if Process does not have "pid". Throws KillFail on error. Parameters
sig Signal to send. Defaults to SIGNALS.TERM Returns
unspecified at this time, do not count on it
- lines(p:Process) Source: stdlib.ngs:7146
Wait for the process and return lines of its stdout. Returns
Arr of StrExample
$(seq 10 2 20).lines().map(Int) # [10,12,14,16,18,20]
- lines(p:Process, cb:Fun) Source: stdlib.ngs:7152
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:6558
Wait for the process to finish and return its standard output. Returns
Str
- wait(p:Process) Source: stdlib.ngs:6487
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