Module Ecaml.Process
Process is used to create "subprocesses" or "child processes" of the Emacs process, which is their "parent process". A subprocess of Emacs may be "synchronous" or "asynchronous", depending on how it is created. When you create a synchronous subprocess, the program waits for the subprocess to terminate before continuing execution. When you create an asynchronous subprocess, it can run in parallel with Emacs. This kind of subprocess is represented within Emacs by a Process.t. Programs can use this object to communicate with the subprocess or to control it. For example, you can send signals, obtain status information, receive output from the process, or send input to it.
(Info-goto-node "(elisp)Processes").
type t= Ecaml__.Process0.t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
include Ecaml__.Import.Value.Subtype with type t := t
type valuetype t= private valueWe expose
private valuefor free identity conversions when the value is nested in some covariant type, e.g.(symbols : Symbol.t list :> Value.t list)rather thanList.map symbols ~f:Symbol.to_value.
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val eq : t -> t -> booleq t1 t2 = Value.eq (to_value t1) (to_value t2), i.e.eqchecks whether the Emacs values underlyingt1andt2are physically equal. This is different thanphys_equal t1 t2, because we don't always wrapeqEmacs values inphys_equalOCaml values. I.e.phys_equal t1 t2implieseq t1 t2, but not the converse.
val is_in_subtype : value -> bool
include Ecaml_value__.Valueable0.S with type t := t
val of_value_exn : Ecaml_value__.Value0.t -> tval to_value : t -> Ecaml_value__.Value0.tval type_ : t type_
val buffer : t -> Ecaml__.Import.Buffer.t option(describe-function 'process-buffer)
val command : t -> string list option(describe-function 'process-command)
val name : t -> string(describe-function 'process-name)
val pid : t -> Core_kernel.Pid.t option(describe-function 'process-id)
val query_on_exit : t -> bool(describe-function 'process-query-on-exit-flag)
module Status : sig ... endmodule Exit_status : sig ... endval exit_status : t -> Exit_status.t(describe-function 'process-exit-status)
val is_alive : t -> bool(describe-function 'process-live-p)
val set_query_on_exit : t -> bool -> unitset_query_on_exit tspecifies whether Emacs should query the user about killingtwhen it exits.(describe-function 'set-process-query-on-exit-flag).
val all_emacs_children : unit -> t list(describe-function 'process-list)
val create : ?buffer:Ecaml__.Import.Buffer.t -> unit -> args:string list -> name:string -> prog:string -> t(Info-goto-node "(elisp)Asynchronous Processes")(describe-function 'start-process)
val find_by_name : string -> t option(describe-function 'get-process)(Info-goto-node "(elisp)Process Information")
module Call : sig ... endval call_result_exn : ?input:Call.Input.t -> ?output:Call.Output.t -> ?redisplay_on_output:bool -> ?working_directory:Working_directory.t -> string -> string list -> Call.Result.t(Info-goto-node "(elisp)Synchronous Processes")(describe-function 'call-process)
val call_region_exn : ?input:Call.Region_input.t -> ?output:Call.Output.t -> ?redisplay_on_output:bool -> ?working_directory:Working_directory.t -> string -> string list -> Call.Result.t(Info-goto-node "(elisp)Synchronous Processes")(describe-function 'call-process-region)
val call_exn : ?input:Call.Input.t -> ?working_directory:Working_directory.t -> ?strip_whitespace:bool -> ?verbose_exn:bool -> string -> string list -> stringcall_exnrunscall_result_exn, strips whitespace from stdout+stderr ifstrip_whitespaceistrue, and returns the resulting string, raising on nonzero exit.
val call_expect_no_output_exn : ?input:Call.Input.t -> ?working_directory:Working_directory.t -> ?strip_whitespace:bool -> ?verbose_exn:bool -> string -> string list -> unitcall_expect_no_output_exnrunscall_result_exnand raises if the command output is not the empty string or on nonzero exit.
val shell_command_result : ?input:Call.Input.t -> ?output:Call.Output.t -> ?redisplay_on_output:bool -> ?working_directory:Working_directory.t -> string -> Call.Result.tval shell_command_exn : ?input:Call.Input.t -> ?working_directory:Working_directory.t -> ?verbose_exn:bool -> string -> stringshell_command_exn commandrunscommandin a subshell, strips whitespace from stdout+stderr, and returns the resulting string, raising on nonzero exit.
val shell_command_expect_no_output_exn : ?input:Call.Input.t -> ?working_directory:Working_directory.t -> ?verbose_exn:bool -> string -> unitval create_unix_network_process : unit -> filter:(t -> Text.t -> unit) -> name:string -> socket_path:string -> t(Info-goto-node "(elisp)Network Servers")(describe-function 'make-network-process)The
treturned bycreate_unix_network_processrepresents listening on the socket. Thetpassed tofilterrepresents a specific connection accepted on the socket.
val kill : t -> unit(Info-goto-node "(elisp)Deleting Processes"),(describe-function 'delete-process).