module Process:Low-level process handlingsig
..end
This is low-level enough that you should probably be using Shell
instead
to dispatch processes.
module Status:sig
..end
module Command_result:sig
..end
val kill : ?is_child:bool ->
?wait_for:Core.Std.Time.Span.t ->
?signal:Core.Std.Signal.t -> Core.Pid.t -> unit
signal
; waiting for wait_for
and then
sending a sigkill
.
You need to set is_child to true when killing child processes or run waitpid
on them in another.val run : ?timeout:Core.Std.Time.Span.t ->
?use_extra_path:bool ->
?working_dir:string ->
?setuid:int ->
?setgid:int ->
?env:[ `Extend of (string * string) list | `Replace of (string * string) list ] ->
?input:string ->
?keep_open:bool ->
?stdoutf:(string -> int -> unit) ->
?stderrf:(string -> int -> unit) ->
?tail_len:int ->
prog:string -> args:string list -> unit -> Command_result.t