Class ShellUtils

    • Field Detail

      • LOG

        public static final org.slf4j.Logger LOG
      • WINDOWS

        public static final boolean WINDOWS
      • SOLARIS

        public static final boolean SOLARIS
      • MAC

        public static final boolean MAC
      • FREEBSD

        public static final boolean FREEBSD
      • LINUX

        public static final boolean LINUX
      • OTHER

        public static final boolean OTHER
      • numShellExceptions

        public static final com.codahale.metrics.Meter numShellExceptions
      • TOKEN_SEPARATOR_REGEX

        public static final String TOKEN_SEPARATOR_REGEX
        Token separator regex used to parse Shell tool outputs.
      • timeOutInterval

        protected long timeOutInterval
        Time after which the executing script would be timed out.
    • Constructor Detail

      • ShellUtils

        public ShellUtils()
      • ShellUtils

        public ShellUtils​(long interval)
      • ShellUtils

        public ShellUtils​(long interval,
                          boolean redirectErrorStream)
        Creates a new shell utils instance.
        Parameters:
        interval - the minimum duration to wait before re-executing the command
    • Method Detail

      • getGroupsForUserCommand

        public static String[] getGroupsForUserCommand​(String user)
        a Unix command to get a given user's groups list. Windows is not supported.
      • getExitCode

        public int getExitCode()
        get the exit code.
        Returns:
        the exit code of the process
      • setEnvironment

        protected void setEnvironment​(Map<String,​String> env)
        set the environment for the command.
        Parameters:
        env - Mapping of environment variables
      • setWorkingDirectory

        protected void setWorkingDirectory​(File dir)
        set the working directory.
        Parameters:
        dir - The directory where the command would be executed
      • run

        protected void run()
                    throws IOException
        check to see if a command needs to be executed and execute if needed.
        Throws:
        IOException
      • getExecString

        protected abstract String[] getExecString()
        return an array containing the command name & its parameters.
      • getProcess

        public Process getProcess()
        get the current sub-process executing the given command.
        Returns:
        process executing the command
      • isTimedOut

        public boolean isTimedOut()
        To check if the passed script to shell command executor timed out or not.
        Returns:
        if the script timed out.