API for clojure.java.process - Clojure v1.13.0 (in development)


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
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.