API for clojure.java.process
-
Full namespace name:
clojure.java.process
Overview
A process invocation API wrapping the Java process API.
The primary function is 'start' which starts a process and handles the
streams as directed. It returns the Process object. Use 'exit-ref' to wait
for completion and receive the exit value, and ‘stdout', 'stderr', 'stdin'
to access the process streams. The 'exec' function handles the common case
to 'start' a process, wait for process exit, and return stdout.
Public Variables and Functions
exec
function
Usage: (exec & opts+args)
Execute a command and on successful exit, return the captured output,
else throw RuntimeException. Args are the same as 'start' and options
if supplied override the default 'exec' settings.
Added in Clojure version 1.12
Source
exit-ref
function
Usage: (exit-ref process)
Given a Process (the output of 'start'), return a reference that can be
used to wait for process completion then returns the exit value.
Source
from-file
function
Usage: (from-file f)
Coerce f to a file per clojure.java.io/file and return a ProcessBuilder.Redirect reading from the file.
This can be passed to 'start' in :in.
Added in Clojure version 1.12
Source
start
function
Usage: (start & opts+args)
Start an external command, defined in args.
The process environment vars are inherited from the parent by
default (use :clear-env to clear them).
If needed, provide options in map as first arg:
:in - a ProcessBuilder.Redirect (default = :pipe) or :inherit
:out - a ProcessBuilder.Redirect (default = :pipe) or :inherit :discard
:err - a ProcessBuilder.Redirect (default = :pipe) or :inherit :discard :stdout
:dir - current directory when the process runs (default=".")
:clear-env - if true, remove all inherited parent env vars
:env - {env-var value} of environment variables to set (all strings)
Returns the java.lang.Process.
Added in Clojure version 1.12
Source
stderr
function
Usage: (stderr process)
Given a process, return the stderr of the external process (an InputStream)
Source
stdin
function
Usage: (stdin process)
Given a process, return the stdin of the external process (an OutputStream)
Source
stdout
function
Usage: (stdout process)
Given a process, return the stdout of the external process (an InputStream)
Source
to-file
function
Usage: (to-file f & {:keys [append], :as opts})
Coerce f to a file per clojure.java.io/file and return a ProcessBuilder.Redirect writing to the file.
Set ':append' in opts to append. This can be passed to 'start' in :out or :err.
Added in Clojure version 1.12
Source