Package org.apache.storm.utils
Class ShellUtils.ShellCommandExecutor
java.lang.Object
org.apache.storm.utils.ShellUtils
org.apache.storm.utils.ShellUtils.ShellCommandExecutor
- Enclosing class:
- ShellUtils
A simple shell command executor.
ShellCommandExecutor
should be used in cases where the output
of the command needs no explicit parsing and where the command, working directory and the environment remains unchanged. The output
of the command is stored as-is and is expected to be small.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.storm.utils.ShellUtils
ShellUtils.ExitCodeException, ShellUtils.OSType, ShellUtils.ShellCommandExecutor
-
Field Summary
Fields inherited from class org.apache.storm.utils.ShellUtils
FREEBSD, LINUX, LOG, MAC, numShellExceptions, osType, OTHER, SOLARIS, timeOutInterval, TOKEN_SEPARATOR_REGEX, WINDOWS
-
Constructor Summary
ConstructorDescriptionShellCommandExecutor
(String[] execString) ShellCommandExecutor
(String[] execString, File dir) Create a new instance of the ShellCommandExecutor to execute a command. -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
Execute the shell command.String[]
return an array containing the command name & its parameters.Get the output of the shell command.protected void
parseExecResult
(BufferedReader lines) Parse the execution result.toString()
Returns the commands of this instance.Methods inherited from class org.apache.storm.utils.ShellUtils
getExitCode, getGroupsForUserCommand, getLogHandler, getProcess, isTimedOut, run, setEnvironment, setWorkingDirectory
-
Constructor Details
-
ShellCommandExecutor
-
ShellCommandExecutor
-
ShellCommandExecutor
-
ShellCommandExecutor
Create a new instance of the ShellCommandExecutor to execute a command.- Parameters:
execString
- The command to execute with argumentsdir
- If not-null, specifies the directory which should be set as the current working directory for the command. If null, the current working directory is not modified.env
- If not-null, environment of the command will include the key-value pairs specified in the map. If null, the current environment is not modified.timeout
- Specifies the time in milliseconds, after which the command will be killed and the status marked as timedout. If 0, the command will not be timed out.
-
-
Method Details
-
execute
Execute the shell command.- Throws:
IOException
-
getExecString
Description copied from class:ShellUtils
return an array containing the command name & its parameters.- Specified by:
getExecString
in classShellUtils
-
parseExecResult
Description copied from class:ShellUtils
Parse the execution result.- Specified by:
parseExecResult
in classShellUtils
- Throws:
IOException
-
getOutput
Get the output of the shell command. -
toString
Returns the commands of this instance. Arguments with spaces in are presented with quotes round; other arguments are presented raw
-