module Process:Low-level process handlingsig
..end
exception Timeout of string * string
module Command_result:sig
..end
val run : ?timeout:Core.Std.Time.Span.t ->
?working_dir:string ->
?input:string ->
?stdoutf:(string -> int -> unit) ->
?stderrf:(string -> int -> unit) ->
?tail_len:int ->
prog:string -> args:string list -> unit -> Command_result.t