sig
type t = Process.t
val pid : t -> Core.Std.Pid.t
val stdin : t -> Writer.t
val stdout : t -> Reader.t
val stderr : t -> Reader.t
type env =
[ `Extend of (string * string) list
| `Replace of (string * string) list ]
type 'a with_create_args =
?working_dir:string ->
?env:env -> prog:string -> args:string list -> unit -> 'a
val create : t Core.Std.Or_error.t Import.Deferred.t with_create_args
module Output :
sig
type t =
Process.Output.t = {
stdout : string;
stderr : string;
exit_status : Core.Std.Unix.Exit_or_signal.t;
}
val sexp_of_t : t -> Sexplib.Sexp.t
end
val wait : t -> Output.t Import.Deferred.t
val run : string Core.Std.Or_error.t Import.Deferred.t with_create_args
val run_lines :
string list Core.Std.Or_error.t Import.Deferred.t with_create_args
val sexp_of_t : t -> Sexplib.Sexp.t
val env_of_sexp : Sexplib.Sexp.t -> env
val __env_of_sexp__ : Sexplib.Sexp.t -> env
val sexp_of_env : env -> Sexplib.Sexp.t
end