-
See Also
- ExternalEvaluate
- RunThrough
- Run
- StartProcess
- Install
- Put
- Get
- Import
- $SystemShell
-
- External Evaluation Systems
- Shell
- Related Guides
RunProcess["command"]
runs the specified external command, returning information on the outcome.
RunProcess[{"command",arg1,arg2,…}]
runs the specified command, with command-line arguments argi.
RunProcess[command,"prop"]
returns only the specified property.
RunProcess[command,prop,input]
feeds the specified initial input to the command.
RunProcess
RunProcess["command"]
runs the specified external command, returning information on the outcome.
RunProcess[{"command",arg1,arg2,…}]
runs the specified command, with command-line arguments argi.
RunProcess[command,"prop"]
returns only the specified property.
RunProcess[command,prop,input]
feeds the specified initial input to the command.
Details and Options
- RunProcess blocks until the process it starts has finished.
- In RunProcess[command,prop,input], input is automatically converted to a string using ToString. The same is true for the argi in RunProcess[{command,arg1,…},…].
- Typical possible properties to return include:
-
"ExitCode" the exit code for the process "StandardOutput" data sent to standard output, as a string "StandardError" data sent to standard error, as a string All an association of all properties (default) - RunProcess has the following options:
-
ProcessDirectory Inherited initial working directory ProcessEnvironment Inherited environment variables to supply - By default, the subprocess will inherit its process directory and environment variables from the Wolfram Engine.
Examples
open all close allBasic Examples (4)
Run a simple external command:
RunProcess["date"]Run a command, and get back only what it writes to the standard output channel:
RunProcess["date", "StandardOutput"]Give a command-line option to the function:
RunProcess[{"date", "-u"}]Equivalent command on Windows:
RunProcess[{"cmd", "/c", "date /t"}]Run a command, and get back only its exit code:
RunProcess["date", "ExitCode"]RunProcess["echo", All, "hello there"]Scope (2)
Run the command-line console and a couple of commands inside it, then quit it:
RunProcess[$SystemShell, All, "echo example line 1
echo example line 2
exit
"]Run the same program with the same input, but retrieve only its standard output:
RunProcess[$SystemShell, "StandardOutput", "echo example line 1
echo example line 2
exit
"]Possible Issues (4)
The right way to call RunProcess for a program plus its arguments is using a list:
optionC = If[StringFreeQ[$System, "Windows"], "-c", "/c"];RunProcess[{$SystemShell, optionC, "echo example line"}]Calling RunProcess with the command and arguments in a single string does not work:
RunProcess[StringJoin[{$SystemShell, " " <> optionC <> " \"echo example line\""}]]Also, calling RunProcess with the program arguments as arguments for RunProcess is not allowed:
RunProcess[$SystemShell, optionC, "echo example line"]Special symbols like ~ and * are not converted using shell expansion because RunProcess skips the shell:
RunProcess[{"diff", "~/file1", "~/file2"}]Shell commands like dir and echo cannot be called directly on Windows because they are not binaries (however, they are binaries on Unix systems):
RunProcess[{"echo", "this line only works on Unix systems like MacOS and Linux"}]Some commands might need to be called using absolute paths:
RunProcess[{"/bin/echo", "example"}]See Also
ExternalEvaluate RunThrough Run StartProcess Install Put Get Import $SystemShell
External Evaluation Systems: Shell
Function Repository: SystemShellRun ProcessRunningQ GetNetworkSpeed
History
Text
Wolfram Research (2014), RunProcess, Wolfram Language function, https://reference.wolfram.com/language/ref/RunProcess.html.
CMS
Wolfram Language. 2014. "RunProcess." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/RunProcess.html.
APA
Wolfram Language. (2014). RunProcess. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/RunProcess.html
BibTeX
@misc{reference.wolfram_2026_runprocess, author="Wolfram Research", title="{RunProcess}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/RunProcess.html}", note=[Accessed: 15-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_runprocess, organization={Wolfram Research}, title={RunProcess}, year={2014}, url={https://reference.wolfram.com/language/ref/RunProcess.html}, note=[Accessed: 15-June-2026]}