module OpamProcess:sig
..end
type
command
val command : ?env:string array ->
?verbose:bool ->
?name:string ->
?metadata:(string * string) list ->
?dir:string ->
?allow_stdin:bool ->
?text:string -> string -> string list -> command
val string_of_command : command -> string
val text_of_command : command -> string option
val is_verbose_command : command -> bool
val make_command_text : ?color:OpamGlobals.text_style ->
string -> ?args:string list -> string -> string
type
t = {
|
p_name : |
(* |
Command name
| *) |
|
p_args : |
(* |
Command args
| *) |
|
p_pid : |
(* |
Process PID
| *) |
|
p_cwd : |
(* |
Process initial working directory
| *) |
|
p_time : |
(* |
Process start time
| *) |
|
p_stdout : |
(* |
stdout dump file
| *) |
|
p_stderr : |
(* |
stderr dump file
| *) |
|
p_env : |
(* |
dump environment variables
| *) |
|
p_info : |
(* |
dump process info
| *) |
|
p_metadata : |
(* |
Metadata associated to the process
| *) |
|
p_verbose : |
(* |
whether output of the process should be displayed
| *) |
type
result = {
|
r_code : |
(* |
Process exit code, or 256 on error
| *) |
|
r_signal : |
(* |
Signal received if the processed was killed
| *) |
|
r_duration : |
(* |
Process duration
| *) |
|
r_info : |
(* |
Process info
| *) |
|
r_stdout : |
(* |
Content of stdout dump file
| *) |
|
r_stderr : |
(* |
Content of stderr dump file
| *) |
|
r_cleanup : |
(* |
List of files to clean-up
| *) |
val run : command -> result
run command
synchronously call the command command.cmd
with
arguments command.args
. It waits until the process is finished. The files
name.info
, name.env
, name.out
and name.err
, with
name = command.cmd_name
are
created, and contain the process main description, the environment
variables, the standard output and the standard error.
Don't forget to call cleanup result
afterwardsval run_background : command -> t
run
, but doesn't wait. Use wait_one to wait and collect
results;
Don't forget to call cleanup result
afterwardsval dry_run_background : command -> t
run_background
, except that no process is created, and a dummy
process (suitable for dry_wait_one) is returned.val wait : t -> result
wait p
waits for the processus p
to end and returns its results. Be
careful to handle Sys.Breakval dontwait : t -> result option
wait
, but returns None immediately if the process hasn't endedval wait_one : t list -> t * result
val dry_wait_one : t list -> t * result
wait_one
for simulations, to be used with
dry_run_background
val interrupt : t -> unit
val is_success : result -> bool
val is_failure : result -> bool
val cleanup : ?force:bool -> result -> unit
val read_lines : string -> string list
val string_of_result : ?color:OpamGlobals.text_style -> result -> string
module Job:sig
..end
type'a
job ='a Job.Op.job