| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.util.Shell
public abstract class Shell
A base class for running a Unix command.
 
 Shell can be used to run unix commands like du or
 df. It also offers facilities to gate commands by 
 time-intervals.
| Nested Class Summary | |
|---|---|
static class | 
Shell.ExitCodeException
This is an IOException with exit code added.  | 
static class | 
Shell.ShellCommandExecutor
A simple shell command executor.  | 
| Field Summary | |
|---|---|
static org.apache.commons.logging.Log | 
LOG
 | 
static String | 
SET_GROUP_COMMAND
 | 
static String | 
SET_OWNER_COMMAND
a Unix command to set owner  | 
static String | 
SET_PERMISSION_COMMAND
a Unix command to set permission  | 
static String | 
USER_NAME_COMMAND
a Unix command to get the current user's name  | 
static boolean | 
WINDOWS
Set to true on Windows platforms  | 
| Constructor Summary | |
|---|---|
Shell()
 | 
|
Shell(long interval)
 | 
|
| Method Summary | |
|---|---|
static String | 
execCommand(String... cmd)
Static method to execute a shell command.  | 
protected abstract  String[] | 
getExecString()
return an array containing the command name & its parameters  | 
 int | 
getExitCode()
get the exit code  | 
static String[] | 
getGET_PERMISSION_COMMAND()
Return a Unix command to get permission information.  | 
static String[] | 
getGROUPS_COMMAND()
a Unix command to get the current user's groups list  | 
 Process | 
getProcess()
get the current sub-process executing the given command  | 
static String[] | 
getUlimitMemoryCommand(JobConf job)
Get the Unix command for setting the maximum virtual memory available to a given child process.  | 
protected abstract  void | 
parseExecResult(BufferedReader lines)
Parse the execution result  | 
protected  void | 
run()
check to see if a command needs to be executed and execute if needed  | 
protected  void | 
setEnvironment(Map<String,String> env)
set the environment for the command  | 
protected  void | 
setWorkingDirectory(File dir)
set the working directory  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final org.apache.commons.logging.Log LOG
public static final String USER_NAME_COMMAND
public static final String SET_PERMISSION_COMMAND
public static final String SET_OWNER_COMMAND
public static final String SET_GROUP_COMMAND
public static final boolean WINDOWS
| Constructor Detail | 
|---|
public Shell()
public Shell(long interval)
interval - the minimum duration to wait before re-executing the 
        command.| Method Detail | 
|---|
public static String[] getGROUPS_COMMAND()
public static String[] getGET_PERMISSION_COMMAND()
public static String[] getUlimitMemoryCommand(JobConf job)
Mapper or the 
 Reducer implementations 
 e.g. Hadoop Pipes 
 or Hadoop Streaming.
 
 It also checks to ensure that we are running on a *nix platform else 
 (e.g. in Cygwin/Windows) it returns null.
job - job configuration
String[] with the ulimit command arguments or 
         null if we are running on a non *nix platform or
         if the limit is unspecified.protected void setEnvironment(Map<String,String> env)
env - Mapping of environment variablesprotected void setWorkingDirectory(File dir)
dir - The directory where the command would be executed
protected void run()
            throws IOException
IOExceptionprotected abstract String[] getExecString()
protected abstract void parseExecResult(BufferedReader lines)
                                 throws IOException
IOExceptionpublic Process getProcess()
public int getExitCode()
public static String execCommand(String... cmd)
                          throws IOException
Shell interface.
cmd - shell command to execute.
IOException
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||