Package net.i2p.util

Class ShellCommand


  • public class ShellCommand
    extends Object
    Passes a command to the OS shell for execution and manages the input and output.

    This class must be kept gcj-compatible.

    Author:
    hypercubus
    • Constructor Detail

      • ShellCommand

        public ShellCommand()
    • Method Detail

      • execute

        @Deprecated
        public void execute​(String shellCommand)
        Deprecated.
        unused
        Passes a command to the shell for execution and returns immediately without waiting for an exit status. All output produced by the executed command will go to STDOUT and STDERR as appropriate, and can be read via getOutputStream() and getErrorStream(), respectively. Input can be passed to the STDIN of the shell process via getInputStream(). Warning, no good way to quote or escape spaces in arguments with this method.
        Parameters:
        shellCommand - The command for the shell to execute.
      • executeAndWait

        @Deprecated
        public boolean executeAndWait​(String shellCommand)
        Deprecated.
        unused
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed. All output produced by the executed command will go to STDOUT and STDERR as appropriate, and can be read via getOutputStream() and getErrorStream(), respectively. Input can be passed to the STDIN of the shell process via getInputStream(). Warning, no good way to quote or escape spaces in arguments with this method.
        Parameters:
        shellCommand - The command for the shell to execute.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), else false.
      • executeAndWaitTimed

        @Deprecated
        public boolean executeAndWaitTimed​(String shellCommand,
                                           int seconds)
        Deprecated.
        unused
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed, unless a specified number of seconds has elapsed first. All output produced by the executed command will go to STDOUT and STDERR as appropriate, and can be read via getOutputStream() and getErrorStream(), respectively. Input can be passed to the STDIN of the shell process via getInputStream(). Warning, no good way to quote or escape spaces in arguments with this method.
        Parameters:
        shellCommand - The command for the shell to execute.
        seconds - The method will return true if this number of seconds elapses without the process returning an exit status. A value of 0 here disables waiting.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), else false.
      • executeSilent

        @Deprecated
        public void executeSilent​(String shellCommand)
                           throws IOException
        Deprecated.
        unused
        Passes a command to the shell for execution and returns immediately without waiting for an exit status. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments with this method.
        Parameters:
        shellCommand - The command for the shell to execute.
        Throws:
        IOException
      • executeSilentAndWait

        @Deprecated
        public boolean executeSilentAndWait​(String shellCommand)
        Deprecated.
        Use the String[] method
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments with this method.
        Parameters:
        shellCommand - The command for the shell to execute.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), else false.
      • executeSilentAndWait

        public boolean executeSilentAndWait​(String[] commandArray)
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed. Any output produced by the executed command will not be displayed.
        Parameters:
        commandArray - The command for the shell to execute, as a String[]. See Runtime.exec(String[]) for more info.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), else false.
        Since:
        0.9.38
      • executeSilentAndWaitTimed

        public boolean executeSilentAndWaitTimed​(String shellCommand,
                                                 int seconds)
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed unless a specified number of seconds has elapsed first. Any output produced by the executed command will not be displayed. Warning, no good way to quote or escape spaces in arguments when shellCommand is a String. Use a String array for best results, especially on Windows.
        Parameters:
        shellCommand - The command for the shell to execute, as a String. You can't quote arguments successfully. See Runtime.exec(String) for more info.
        seconds - The method will return true if this number of seconds elapses without the process returning an exit status. A value of 0 here disables waiting.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), OR if the time expires, else false.
      • executeSilentAndWaitTimed

        public boolean executeSilentAndWaitTimed​(String[] commandArray,
                                                 int seconds)
        Passes a command to the shell for execution. This method blocks until all of the command's resulting shell processes have completed unless a specified number of seconds has elapsed first. Any output produced by the executed command will not be displayed.
        Parameters:
        commandArray - The command for the shell to execute, as a String[]. See Runtime.exec(String[]) for more info.
        seconds - The method will return true if this number of seconds elapses without the process returning an exit status. A value of 0 here disables waiting.
        Returns:
        true if the spawned shell process returns an exit status of 0 (indicating success), OR if the time expires, else false.
        Since:
        0.8.3
      • main

        public static void main​(String[] args)
        Just does exec, this is NOT a test of ShellCommand.