public class UnixProcessManager extends AbstractProcessManager
ProcessManager
implementation for *nix systems. Uses the ps and kill
commands.
Works for Linux. Works for Solaris too, except that the command line string returned by
ps there is limited to 80 characters and this affects AbstractProcessManager.findPid(ProcessQuery)
.
PID_NOT_FOUND, PID_UNKNOWN
Constructor and Description |
---|
UnixProcessManager() |
Modifier and Type | Method and Description |
---|---|
protected java.util.List<java.lang.String> |
execute(java.lang.String[] cmdarray)
Executes the specified command and return the output.
|
static UnixProcessManager |
getDefault()
Gets the default instance of
UnixProcessManager . |
protected java.lang.String[] |
getRunningProcessesCommand(java.lang.String process)
Gets the command to be executed to get a snapshot of all the running processes identified by
the specified argument (process).
|
protected java.util.regex.Pattern |
getRunningProcessLinePattern()
Gets the pattern to be used to match an output line containing the information about a running
process.
|
void |
kill(java.lang.Process process,
long pid)
Kills the specified process.
|
void |
setRunAsArgs(java.lang.String[] runAsArgs)
Sets The sudo command arguments.
|
findPid
public static UnixProcessManager getDefault()
UnixProcessManager
.UnixProcessManager
instance.protected java.util.List<java.lang.String> execute(java.lang.String[] cmdarray) throws java.io.IOException
AbstractProcessManager
execute
in class AbstractProcessManager
cmdarray
- An array containing the command to call and its arguments.java.io.IOException
- If an I/O error occurs.protected java.lang.String[] getRunningProcessesCommand(java.lang.String process)
AbstractProcessManager
getRunningProcessesCommand
in class AbstractProcessManager
process
- The name of the process to query for.protected java.util.regex.Pattern getRunningProcessLinePattern()
AbstractProcessManager
getRunningProcessLinePattern
in class AbstractProcessManager
AbstractProcessManager.getRunningProcessesCommand(String)
public void kill(java.lang.Process process, long pid) throws java.io.IOException
ProcessManager
process
- The process to kill.pid
- The id of the process to kill.java.io.IOException
- If an IO error occurs.public void setRunAsArgs(java.lang.String[] runAsArgs)
runAsArgs
- The sudo command arguments.