Package org.eclipse.cdt.utils.spawner
Class Spawner
- java.lang.Object
-
- java.lang.Process
-
- org.eclipse.cdt.utils.spawner.Spawner
-
public class Spawner extends Process
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceSpawner.IChannelstatic classSpawner.UnixChannelstatic classSpawner.WinChannel
-
Field Summary
Fields Modifier and Type Field Description intCTRLCDeprecated, for removal: This API element is subject to removal in a future version.intHUPDeprecated, for removal: This API element is subject to removal in a future version.intINTDeprecated, for removal: This API element is subject to removal in a future version.intKILLDeprecated, for removal: This API element is subject to removal in a future version.intNOOPDeprecated, for removal: This API element is subject to removal in a future version.intTERMDeprecated, for removal: This API element is subject to removal in a future version.
-
Constructor Summary
Constructors Modifier Constructor Description protectedSpawner(String command)Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.protectedSpawner(String[] cmdarray)Executes the specified command and arguments in a separate process.protectedSpawner(String[] cmdarray, int gracefulExitTimeMs)protectedSpawner(String[] cmdarray, String[] envp)Executes the specified command and arguments in a separate process with the specified environment.protectedSpawner(String[] cmdarray, String[] envp, int gracefulExitTimeMs)protectedSpawner(String[] cmdarray, String[] envp, File dir)protectedSpawner(String[] cmdarray, String[] envp, File dir, int gracefulExitTimeMs)Executes the specified command and arguments in a separate process with the specified environment and working directory.protectedSpawner(String[] cmdarray, String[] envp, File dir, PTY pty)protectedSpawner(String[] cmdarray, String[] envp, File dir, PTY pty, int gracefulExitTimeMs)Spawner(String command, boolean bNoRedirect)Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.protectedSpawner(String cmd, String[] envp)Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.protectedSpawner(String command, String[] envp, File dir)Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()See java.lang.Process#destroy (); Clients are responsible for explicitly closing any streams that they have requested through getErrorStream(), getInputStream() or getOutputStream()voidexec_detached(String[] cmdarray, String[] envp, String dirpath)intexec2(String[] cmdarray, String[] envp, String dir, Spawner.IChannel[] chan, String slaveName, int masterFD, boolean console)Native method when executing with a terminal emulation.intexitValue()See java.lang.Process#exitValue ();protected voidfinalize()InputStreamgetErrorStream()See java.lang.Process#getErrorStream (); The client is responsible for closing the stream explicitly.InputStreamgetInputStream()See java.lang.Process#getInputStream (); The client is responsible for closing the stream explicitly.OutputStreamgetOutputStream()See java.lang.Process#getOutputStream (); The client is responsible for closing the stream explicitly.inthangup()intinterrupt()On Windows, interrupt the spawned program by using Cygwin's utility 'kill -SIGINT' if it's a Cgywin program, otherwise send it a CTRL-C.intinterruptCTRLC()On Windows, interrupt the spawned program by send it a CTRL-C (even if it's a Cygwin program).booleanisRunning()intkill()longpid()intraise(int sig)intraise(int processID, int sig)Native method to drop a signal on the process with pid.intterminate()intwaitFor()See java.lang.Process#waitFor ();intwaitFor(int processID)Native method to wait(3) for process to terminate.-
Methods inherited from class java.lang.Process
children, descendants, destroyForcibly, info, isAlive, onExit, supportsNormalTermination, toHandle, waitFor
-
-
-
-
Field Detail
-
NOOP
@Deprecated(forRemoval=true) public int NOOP
Deprecated, for removal: This API element is subject to removal in a future version.
-
HUP
@Deprecated(forRemoval=true) public int HUP
Deprecated, for removal: This API element is subject to removal in a future version.
-
KILL
@Deprecated(forRemoval=true) public int KILL
Deprecated, for removal: This API element is subject to removal in a future version.
-
TERM
@Deprecated(forRemoval=true) public int TERM
Deprecated, for removal: This API element is subject to removal in a future version.
-
INT
@Deprecated(forRemoval=true) public int INT
Deprecated, for removal: This API element is subject to removal in a future version.
-
CTRLC
@Deprecated(forRemoval=true) public int CTRLC
Deprecated, for removal: This API element is subject to removal in a future version.- Since:
- 5.2
-
-
Constructor Detail
-
Spawner
@Deprecated public Spawner(String command, boolean bNoRedirect) throws IOException
Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray, String[] envp, File dir) throws IOException
- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray, String[] envp, File dir, int gracefulExitTimeMs) throws IOException
Executes the specified command and arguments in a separate process with the specified environment and working directory.- Throws:
IOException- Since:
- 6.2
-
Spawner
protected Spawner(String[] cmdarray, String[] envp, File dir, PTY pty) throws IOException
- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray, String[] envp, File dir, PTY pty, int gracefulExitTimeMs) throws IOException
- Throws:
IOException- Since:
- 6.2
-
Spawner
@Deprecated protected Spawner(String command) throws IOException
Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677Executes the specified string command in a separate process.- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray) throws IOException
Executes the specified command and arguments in a separate process.- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray, int gracefulExitTimeMs) throws IOException
- Throws:
IOException- Since:
- 6.2
-
Spawner
protected Spawner(String[] cmdarray, String[] envp) throws IOException
Executes the specified command and arguments in a separate process with the specified environment.- Throws:
IOException
-
Spawner
protected Spawner(String[] cmdarray, String[] envp, int gracefulExitTimeMs) throws IOException
- Throws:
IOException- Since:
- 6.2
-
Spawner
@Deprecated protected Spawner(String cmd, String[] envp) throws IOException
Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677Executes the specified string command in a separate process with the specified environment.- Throws:
IOException
-
Spawner
@Deprecated protected Spawner(String command, String[] envp, File dir) throws IOException
Deprecated.Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677Executes the specified string command in a separate process with the specified environment and working directory.- Throws:
IOException
-
-
Method Detail
-
finalize
protected void finalize() throws Throwable
-
getInputStream
public InputStream getInputStream()
See java.lang.Process#getInputStream (); The client is responsible for closing the stream explicitly.- Specified by:
getInputStreamin classProcess
-
getOutputStream
public OutputStream getOutputStream()
See java.lang.Process#getOutputStream (); The client is responsible for closing the stream explicitly.- Specified by:
getOutputStreamin classProcess
-
getErrorStream
public InputStream getErrorStream()
See java.lang.Process#getErrorStream (); The client is responsible for closing the stream explicitly.- Specified by:
getErrorStreamin classProcess
-
waitFor
public int waitFor() throws InterruptedExceptionSee java.lang.Process#waitFor ();- Specified by:
waitForin classProcess- Throws:
InterruptedException
-
exitValue
public int exitValue()
See java.lang.Process#exitValue ();
-
destroy
public void destroy()
See java.lang.Process#destroy (); Clients are responsible for explicitly closing any streams that they have requested through getErrorStream(), getInputStream() or getOutputStream()
-
interrupt
public int interrupt()
On Windows, interrupt the spawned program by using Cygwin's utility 'kill -SIGINT' if it's a Cgywin program, otherwise send it a CTRL-C. If Cygwin's 'kill' command is not available, send a CTRL-C. On linux, interrupt it by raising a SIGINT.
-
interruptCTRLC
public int interruptCTRLC()
On Windows, interrupt the spawned program by send it a CTRL-C (even if it's a Cygwin program). On linux, interrupt it by raising a SIGINT.- Since:
- 5.2
-
hangup
public int hangup()
-
kill
public int kill()
-
terminate
public int terminate()
-
isRunning
public boolean isRunning()
-
exec_detached
public void exec_detached(String[] cmdarray, String[] envp, String dirpath) throws IOException
- Throws:
IOException
-
exec2
public int exec2(String[] cmdarray, String[] envp, String dir, Spawner.IChannel[] chan, String slaveName, int masterFD, boolean console) throws IOException
Native method when executing with a terminal emulation.- Throws:
IOException- Restriction:
- This method is not intended to be referenced by clients.
-
raise
public int raise(int processID, int sig)Native method to drop a signal on the process with pid.
-
raise
public int raise(int sig)
- Since:
- 6.2
-
waitFor
public int waitFor(int processID)
Native method to wait(3) for process to terminate.- Restriction:
- This method is not intended to be referenced by clients.
-
-