({{, (RefLink[ProcessObject, paclet:ref/ProcessObject])[…] 
is an object that represents a runnable external process. }, {, (RefLink[ProcessObject, paclet:ref/ProcessObject])[pid]
represents the running external process with PID pid on your computer system.}})

OpenersNotesSection(Spacer1)Details

(RefLink[ProcessObject, paclet:ref/ProcessObject]) can be created by (RefLink[StartProcess, paclet:ref/StartProcess]).

For processes started by (RefLink[StartProcess, paclet:ref/StartProcess]), (RefLink[ProcessObject, paclet:ref/ProcessObject]) can be used in place of a stream in functions like (RefLink[Read, paclet:ref/Read]), (RefLink[Write, paclet:ref/Write]), (RefLink[BinaryRead, paclet:ref/BinaryRead]), and (RefLink[Import, paclet:ref/Import]).

(RefLink[ProcessObject, paclet:ref/ProcessObject]) can represent both a running process and a process that has ended.

(RefLink[ProcessObject, paclet:ref/ProcessObject])[…]["prop" ] gives properties of external processes. Possible properties include:

In addition to the properties above, (RefLink[Information, paclet:ref/Information]) of a (RefLink[ProcessObject, paclet:ref/ProcessObject]) may include the following:

OpenersPrimaryExamplesSection(Spacer1)Examples  (2)

OpenersExampleSection0(Spacer1)Basic Examples  (2)

Use (RefLink[StartProcess, paclet:ref/StartProcess]) to start the shell process and get the corresponding (RefLink[ProcessObject, paclet:ref/ProcessObject]):

process=StartProcess[$SystemShell]

ProcessObject[]

Write a command into the shell process using the corresponding (RefLink[ProcessObject, paclet:ref/ProcessObject]):

WriteLine[process,"echo display this text"];

Read a single line of shell output:

ReadLine[process]

Start five system shell processes:

StartProcess[$SystemShell]&/@Range[5]

Display information about all the started processes in a grid:

Grid[{#,ProcessStatus[#],ProcessInformation[#,"ExitCode"]}&/@Processes[],Frame->All]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[Processes, paclet:ref/Processes])  ▪  (RefLink[StartProcess, paclet:ref/StartProcess])  ▪  (RefLink[ReadLine, paclet:ref/ReadLine])  ▪  (RefLink[WriteLine, paclet:ref/WriteLine])  ▪  (RefLink[ReadString, paclet:ref/ReadString])  ▪  (RefLink[ReadByteArray, paclet:ref/ReadByteArray])  ▪  (RefLink[InputStream, paclet:ref/InputStream])  ▪  (RefLink[OutputStream, paclet:ref/OutputStream])  ▪  (RefLink[LinkObject, paclet:ref/LinkObject])  ▪  (RefLink[SystemProcesses, paclet:ref/SystemProcesses])  ▪  (RefLink[SystemProcessData, paclet:ref/SystemProcessData])  ▪  (RefLink[$ProcessID, paclet:ref/$ProcessID])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Direct Control of External Processes, paclet:guide/DirectControlOfExternalProcesses])}, {▪(RefLinkPlain[External Language Interfaces, paclet:guide/ExternalLanguageInterfaces])}})}})