Lwt_processSourceProcess management
This module allows you to spawn processes and communicate with them.
A command. The first field is the name of the executable and the second is the list of arguments. For example:
  ("ls", [|"ls"; "-l"|])Notes:
"\000". For example:  ("", [|"echo"; "\000foo bar"|])is the same as:
  ("", [|"echo"; "foo"; "bar"|])A command executed with the shell. (with "/bin/sh -c <cmd>" on Unix and "cmd.exe /c <cmd>" on Windows).
All the following functions take an optional argument timeout, in seconds. If specified, after expiration, the process will be sent a Unix.sigkill signal and channels will be closed. When the channels are closed, any pending I/O operations on them (such as Lwt_io.read_chars) fail with exception Lwt_io.Channel_closed.
type redirection = [ | `KeepPoint to the same file as in the parent.
*)| `Dev_nullRedirect to /dev/null (POSIX) or nul (Win32).
| `CloseClose the file descriptor.
*)| `FD_copy of Unix.file_descrRedirect to the file pointed to by fd. fd remains open in the parent.
| `FD_move of Unix.file_descrRedirect to the file pointed to by fd. fd is then closed in the parent.
 ]File descriptor redirections. These are used with the ~stdin, ~stdout, and ~stderr arguments below to specify how the standard file descriptors should be redirected in the child process. All optional redirection arguments default to `Keep.
val exec : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  Unix.process_status Lwt.tExecutes the given command and returns its exit status.
val pread : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  string Lwt.tval pread_chars : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  char Lwt_stream.tval pread_line : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  string Lwt.tval pread_lines : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  string Lwt_stream.tval pwrite : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  string ->
  unit Lwt.tval pwrite_chars : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  char Lwt_stream.t ->
  unit Lwt.tval pwrite_line : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  string ->
  unit Lwt.tval pwrite_lines : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  string Lwt_stream.t ->
  unit Lwt.tval pmap : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stderr:redirection ->
  command ->
  string ->
  string Lwt.tval pmap_chars : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stderr:redirection ->
  command ->
  char Lwt_stream.t ->
  char Lwt_stream.tval pmap_line : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stderr:redirection ->
  command ->
  string ->
  string Lwt.tval pmap_lines : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stderr:redirection ->
  command ->
  string Lwt_stream.t ->
  string Lwt_stream.ttype state = | RunningThe process is still running
*)| Exited of Unix.process_statusThe process has exited
*)State of a sub-process
class process_none : ?timeout:float -> ?env:string array -> ?cwd:string -> ?stdin:redirection -> ?stdout:
  redirection -> ?stderr:redirection -> command -> object ... endval open_process_none : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  process_noneval with_process_none : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  (process_none -> 'a Lwt.t) ->
  'a Lwt.tclass process_in : ?timeout:float -> ?env:string array -> ?cwd:string -> ?stdin:redirection -> ?stderr:
  redirection -> command -> object ... endval open_process_in : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  process_inval with_process_in : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdin:redirection ->
  ?stderr:redirection ->
  command ->
  (process_in -> 'a Lwt.t) ->
  'a Lwt.tclass process_out : ?timeout:float -> ?env:string array -> ?cwd:string -> ?stdout:redirection -> ?stderr:
  redirection -> command -> object ... endval open_process_out : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  process_outval with_process_out : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stdout:redirection ->
  ?stderr:redirection ->
  command ->
  (process_out -> 'a Lwt.t) ->
  'a Lwt.tclass process : ?timeout:float -> ?env:string array -> ?cwd:string -> ?stderr:redirection -> 
  command -> object ... endval open_process : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  ?stderr:redirection ->
  command ->
  processclass process_full : ?timeout:float -> ?env:string array -> ?cwd:string -> command -> object ... endval open_process_full : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  command ->
  process_fullval with_process_full : 
  ?timeout:float ->
  ?env:string array ->
  ?cwd:string ->
  command ->
  (process_full -> 'a Lwt.t) ->
  'a Lwt.t