Class ProcessManager
java.lang.Object
org.apache.beam.runners.fnexecution.environment.ProcessManager
A simple process manager which forks processes and kills them if necessary.
- 
Nested Class Summary
Nested Classes - 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FileA symbolic file to indicate that we want to inherit I/O of parent process. - 
Method Summary
Modifier and TypeMethodDescriptionstatic ProcessManagercreate()Forks a process with the given command, arguments, and additional environment variables.voidstopProcess(String id) Stops a previously started process identified by its unique id. 
- 
Field Details
- 
INHERIT_IO_FILE
A symbolic file to indicate that we want to inherit I/O of parent process. 
 - 
 - 
Method Details
- 
create
 - 
startProcess
public ProcessManager.RunningProcess startProcess(String id, String command, List<String> args, Map<String, String> env) throws IOExceptionForks a process with the given command, arguments, and additional environment variables.- Parameters:
 id- A unique id for the processcommand- The name of the executable to runargs- Arguments to provide to the executableenv- Additional environment variables for the process to be forked- Returns:
 - A RunningProcess which can be checked for liveness
 - Throws:
 IOException
 - 
startProcess
public ProcessManager.RunningProcess startProcess(String id, String command, List<String> args, Map<String, String> env, File outputFile) throws IOException- Throws:
 IOException
 - 
stopProcess
Stops a previously started process identified by its unique id. 
 -