Class ProcessStarter
- java.lang.Object
-
- gw.util.ProcessStarter
-
@Deprecated public class ProcessStarter extends Object
Deprecated.useProcessRunner
instead
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ProcessStarter.NullOutputHandler
Deprecated.static interface
ProcessStarter.OutputHandler
Deprecated.static interface
ProcessStarter.ProcessHandler
Deprecated.
-
Field Summary
Fields Modifier and Type Field Description static ProcessStarter.OutputHandler
IGNORE
Deprecated.
-
Constructor Summary
Constructors Constructor Description ProcessStarter(String command)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ProcessStarter
doNotThrowOnNonZeroReturnVal()
Deprecated.If called, this ProcessStarter will not throw an exception if the underlying process exits with a non-zero return codeString
exec()
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and returns all content sent to standard out as a string.void
execWithPipe()
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and pipes all data sent to this processes stdout, stderr, and stdin.File
getDirectory()
Deprecated.Returns this process' working directory.Map<String,String>
getEnvironment()
Deprecated.Returns a modifiable string map view of this process' environment.ProcessStarter
includeStdErrInOutput()
Deprecated.If called, this ProcessStarter will include the StdErr output in the return string of this process.void
processWithHandler(ProcessStarter.ProcessHandler handler)
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and calls the provided handler with the newly created process.void
setDirectory(File directory)
Deprecated.Sets this process' working directory.Process
start()
Deprecated.Starts a new process using the attributes of this process starter.ProcessStarter
withCharset(String cs)
Deprecated.ProcessStarter
withCMD()
Deprecated.The process built up will use CMD if this is a windows platform.ProcessStarter
withStdErrHandler(ProcessStarter.OutputHandler stdErrHandler)
Deprecated.ProcessStarter
withStdOutHandler(ProcessStarter.OutputHandler stdOutHandler)
Deprecated.
-
-
-
Field Detail
-
IGNORE
public static final ProcessStarter.OutputHandler IGNORE
Deprecated.
-
-
Constructor Detail
-
ProcessStarter
public ProcessStarter(String command)
Deprecated.
-
-
Method Detail
-
exec
public String exec()
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and returns all content sent to standard out as a string. If the command finishes with a non zero return value, a
CommandFailedException
is thrown.Content sent to standard error by the command will be forwarded to standard error for this JVM.
This method blocks on the execution of the command.
Example Usages:
var currentDir = Shell.exec( "dir" ) // windows var currentDir = Shell.exec( "ls" ) // *nix Shell.exec( "rm -rf " + directoryToNuke )
- Returns:
- the content of standard out
- Throws:
CommandFailedException
- if the process finishes with a non-zero return value
-
execWithPipe
public void execWithPipe()
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and pipes all data sent to this processes stdout, stderr, and stdin. If the command finishes with a non zero return value, a
CommandFailedException
is thrown.Stdout and Stderr from the sub-process will be piped to the current process' stdout and stderr. Any input in this processes stdin will be piped to the sub-process' stdin
Content sent to standard error by the command will be forwarded to standard error for this JVM.
This method blocks on the execution of the command.
Example Usages:
Shell.execWithPipe( "read \"are you there?\"" )
- Throws:
CommandFailedException
- if the process finishes with a non-zero return value
-
processWithHandler
public void processWithHandler(ProcessStarter.ProcessHandler handler)
Deprecated.Executes the given command as if it had been executed from the command line of the host OS (cmd.exe on windows, /bin/sh on *nix) and calls the provided handler with the newly created process.
NOTE: In gosu, you should take advantage of the block-to-interface coercion provided and pass blocks in as the handler. See the examples below.
- Parameters:
handler
- the process handler for this process.
-
start
public Process start() throws IOException
Deprecated.Starts a new process using the attributes of this process starter.The new process will invoke the command and arguments given by
ProcessBuilder.command()
, in a working directory as given bygetDirectory()
, with a process environment as given bygetEnvironment()
.This method calls directly to
ProcessBuilder.start
.- Returns:
- A new
Process
object for managing the subprocess - Throws:
NullPointerException
- If an element of the command list is nullIndexOutOfBoundsException
- If the command is an empty list (has size0
)SecurityException
- If a security manager exists and itscheckExec
method doesn't allow creation of the subprocessIOException
- If an I/O error occurs- See Also:
Runtime.exec(String[], String[], java.io.File)
,SecurityManager.checkExec(String)
-
getEnvironment
public Map<String,String> getEnvironment()
Deprecated.Returns a modifiable string map view of this process' environment. Whenever a process starter is created, the environment is initialized to a copy of the current process environment (seeSystem.getenv()
). Subprocesses subsequently started by this object will use this map as their environment.The returned object may be modified using ordinary
Map
operations. These modifications will be visible to subprocesses. TwoProcessStarter
instances always contain independent process environments, so changes to the returned map will never be reflected in any otherProcessStarter
instance or the values returned bySystem.getenv
. There are many system-dependant restrictions placed on the returned map. SeeProcessBuilder
for more information- Returns:
- This process environment
- Throws:
SecurityException
- If a security manager exists and itscheckPermission
method doesn't allow access to the process environment- See Also:
ProcessBuilder
,System.getenv()
-
getDirectory
public File getDirectory()
Deprecated.Returns this process' working directory. Subprocesses subsequently started by this object will use this as their working directory. The returned value may benull
-- this means to use the working directory of the current Java process, usually the directory named by the system propertyuser.dir
, as the working directory of the child process.- Returns:
- This process's working directory
-
setDirectory
public void setDirectory(File directory)
Deprecated.Sets this process' working directory. Subprocesses subsequently started by this object will use this as their working directory. The returned value may benull
-- this means to use the working directory of the current Java process, usually the directory named by the system propertyuser.dir
, as the working directory of the child process.- Parameters:
directory
- This process' working directory
-
withCharset
public ProcessStarter withCharset(String cs)
Deprecated.
-
withCMD
public ProcessStarter withCMD()
Deprecated.The process built up will use CMD if this is a windows platform. This is necessary because on windows certain basic commands such as "dir" are not programs, but rather are built into CMD. Thanks, Microsoft.
-
includeStdErrInOutput
public ProcessStarter includeStdErrInOutput()
Deprecated.If called, this ProcessStarter will include the StdErr output in the return string of this process. Note that this has no effect ifwithStdErrHandler(OutputHandler)
is called.- Returns:
- this object for chaining
-
doNotThrowOnNonZeroReturnVal
public ProcessStarter doNotThrowOnNonZeroReturnVal()
Deprecated.If called, this ProcessStarter will not throw an exception if the underlying process exits with a non-zero return code- Returns:
- this object for chaining
-
withStdErrHandler
public ProcessStarter withStdErrHandler(ProcessStarter.OutputHandler stdErrHandler)
Deprecated.- Parameters:
stdErrHandler
- handler that will be called with every line of output to stderr- Returns:
- this object for chaining
-
withStdOutHandler
public ProcessStarter withStdOutHandler(ProcessStarter.OutputHandler stdOutHandler)
Deprecated.- Parameters:
stdOutHandler
- handler that will be called with every line of output to stdout- Returns:
- this object for chaining
-
-