public class ProcessManager
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.util.Stack<Process> |
backgroundStack |
private Console |
console |
private boolean |
doLogging |
private java.util.concurrent.ExecutorService |
executorService |
private int |
foregroundProcess |
private static java.util.logging.Logger |
LOGGER |
private int |
pidCounter |
private java.util.Map<java.lang.Integer,Process> |
processes |
| Constructor and Description |
|---|
ProcessManager(Console console,
boolean log) |
| Modifier and Type | Method and Description |
|---|---|
private int |
getCurrentForegroundProcess() |
Process |
getCurrentProcess()
this is the current running process
|
CommandOperation |
getInput(int pid) |
java.lang.String |
getInputLine(int pid) |
private Process |
getProcessByPid(int pid) |
boolean |
hasForegroundProcess() |
boolean |
hasProcesses() |
void |
processHaveFinished(Process process) |
void |
putProcessInBackground(int pid) |
void |
putProcessInForeground(int pid) |
void |
startNewProcess(ConsoleCallback callback,
ConsoleOperation consoleOperation) |
void |
stop() |
private Console console
private volatile java.util.Map<java.lang.Integer,Process> processes
private java.util.concurrent.ExecutorService executorService
private boolean doLogging
private int pidCounter
private int foregroundProcess
private java.util.Stack<Process> backgroundStack
private static final java.util.logging.Logger LOGGER
public ProcessManager(Console console, boolean log)
public void startNewProcess(ConsoleCallback callback, ConsoleOperation consoleOperation)
private int getCurrentForegroundProcess()
private Process getProcessByPid(int pid)
public CommandOperation getInput(int pid) throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic java.lang.String getInputLine(int pid)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void putProcessInBackground(int pid)
public void putProcessInForeground(int pid)
public Process getCurrentProcess()
public boolean hasForegroundProcess()
public boolean hasProcesses()
public void processHaveFinished(Process process)
public void stop()