`sig
type status =
[ `Exited of int
| `Signaled of Core.Std.Signal.t
| `Timeout of Core.Std.Time.Span.t ]
type t
type result = {
command : Shell.Process.t;
status : Shell.Process.status;
stdout : string;
stderr : string;
}
exception Failed of Shell.Process.result
val to_string : Shell.Process.t -> string
val status_to_string : Shell.Process.status -> string
val set_defaults :
?timeout:Core.Std.Time.Span.t option ->
?verbose:bool -> ?echo:bool -> ?preserve_euid:bool -> unit -> unit
val format_failed : Shell.Process.result -> string
val cmd : string -> string list -> Shell.Process.t
val shell : string -> Shell.Process.t
val make_ssh_command :
?ssh_options:string list ->
?quote_args:bool ->
?user:string -> host:string -> string list -> Shell.Process.t
val remote :
?ssh_options:string list ->
?quote_args:bool ->
?user:string -> host:string -> Shell.Process.t -> Shell.Process.t
type 'a reader
val content : string Shell.Process.reader
val content_and_stderr : (string * string) Shell.Process.reader
val discard : unit Shell.Process.reader
val lines : ?eol:char -> unit -> string list Shell.Process.reader
val head : ?eol:char -> unit -> string option Shell.Process.reader
exception Empty_head
val head_exn : ?eol:char -> unit -> string Shell.Process.reader
val callback :
add:(string -> int -> unit) ->
flush:(unit -> unit) -> unit Shell.Process.reader
val callback_with_stderr :
add:(string -> int -> unit) ->
add_err:(string -> int -> unit) ->
flush:(unit -> unit) -> unit Shell.Process.reader
val run :
(Shell.Process.t -> 'a Shell.Process.reader -> 'a) Shell.with_run_flags
val run_k :
((Shell.Process.t -> 'a Shell.Process.reader -> 'a) -> 'b) ->
'b Shell.with_run_flags
val test : (Shell.Process.t -> bool) Shell.with_test_flags
val test_k : ((Shell.Process.t -> bool) -> 'a) -> 'a Shell.with_test_flags
end`