Process library and s-expression based shell
Library shexp.process
type t

An evaluation context represent all the information maintained by shexp_process in order to evaluate a process description.

This consists of:

  • stdin, stdout, stderr
  • the current working directory
  • the unix environment variables
module Working_dir : sig ... end
val create : ?stdin:Unix.file_descr -> ?stdout:Unix.file_descr -> ?stderr:Unix.file_descr -> ?cwd:Working_dir.t -> ?unix_env:(string * string) list -> unit -> t

Creates a new execution context. Non-specified fields are captured from the environment of current running program.

val dispose : t -> unit

In order to safely maintain several working directories inside the same system process, shexp keeps a file descriptor of the working directory of the context. You need to dispose of an execution context in order to close this file descriptor.