Module Command


module Command: sig .. end
Useful high-level system operations.


File Utilities
val filename : string -> string -> string
val pp_to_file : string -> (Format.formatter -> unit) -> unit
pp_to_file file pp runs pp on a formatter that writes into file. The formatter is always properly flushed and closed on return. Exceptions in pp are re-raised after closing.
val pp_from_file : Format.formatter -> string -> unit
pp_from_file fmt file dumps the content of file into the fmt. Exceptions in pp are re-raised after closing.
val bincopy : string -> Pervasives.in_channel -> Pervasives.out_channel -> unit
copy buffer cin cout reads cin until end-of-file and copy it in cout. buffer is a temporary string used during the copy. Recommanded size is 2048.
val copy : string -> string -> unit
copy source target copies source file to target file using bincopy.

System commands
val full_command : string ->
string array ->
stdin:Unix.file_descr ->
stdout:Unix.file_descr -> stderr:Unix.file_descr -> Unix.process_status
Same arguments as but returns only when execution is complete.
Raises Sys_error when a system error occurs

type process_result =
| Not_ready of (unit -> unit)
| Result of Unix.process_status (*Not_ready f means that the child process is not yet finished and may be terminated manually with f ().*)
val full_command_async : string ->
string array ->
stdin:Unix.file_descr ->
stdout:Unix.file_descr ->
stderr:Unix.file_descr -> unit -> process_result
Same arguments as .
Raises Sys_error when a system error occurs
Returns a function to call to check if the process execution is complete. You must call this function until it returns a Result to prevent Zombie processes.
val command_async : ?stdout:Buffer.t ->
?stderr:Buffer.t -> string -> string array -> unit -> process_result
Same arguments as .
Raises Sys_error when a system error occurs
Returns a function to call to check if the process execution is complete. You must call this function until it returns a Result to prevent Zombie processes. When this function returns a Result, the stdout and stderr of the child process will be filled into the arguments buffer.
val command : ?timeout:int ->
?stdout:Buffer.t ->
?stderr:Buffer.t -> string -> string array -> Unix.process_status
Same arguments as . When this function returns, the stdout and stderr of the child process will be filled into the arguments buffer.
Raises