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 File
A symbolic file to indicate that we want to inherit I/O of parent process. -
Method Summary
Modifier and TypeMethodDescriptionstatic ProcessManager
create()
Forks a process with the given command, arguments, and additional environment variables.void
stopProcess
(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.
-