# Module Std.Process

    module Process: Process

    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.Std.Pid.t -> unit

kills a process by sending `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