\wxheading{Derived from}
-\helpref{wxEvtHandler}{wxevthandler}
+\helpref{wxEvtHandler}{wxevthandler}\\
+\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/process.h>
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
\wxheading{See also}
\helpref{wxExecute}{wxexecute}\\
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxProcess::wxProcess}\label{wxprocessconstr}
+\membersection{wxProcess::wxProcess}\label{wxprocessctor}
\func{}{wxProcess}{\param{wxEvtHandler *}{ parent = NULL}, \param{int}{ id = -1}}
\func{}{wxProcess}{\param{int }{flags}}
Constructs a process object. {\it id} is only used in the case you want to
-use wxWindows events. It identifies this object, or another window that will
+use wxWidgets events. It identifies this object, or another window that will
receive the event.
If the {\it parent} parameter is different from NULL, it will receive
\docparam{flags}{either {\tt wxPROCESS\_DEFAULT} or {\tt wxPROCESS\_REDIRECT}}
-\membersection{wxProcess::\destruct{wxProcess}}
+\membersection{wxProcess::\destruct{wxProcess}}\label{wxprocessdtor}
\func{}{\destruct{wxProcess}}{\void}
If it is NULL, you have not turned on the redirection.
See \helpref{wxProcess::Redirect}{wxprocessredirect}.
+\membersection{wxProcess::IsErrorAvailable}\label{wxprocessiserroravailable}
+
+\constfunc{bool}{IsErrorAvailable}{\void}
+
+Returns {\tt true} if there is data to be read on the child process standard
+error stream.
+
+\wxheading{See also}
+
+\helpref{IsInputAvailable}{wxprocessisinputavailable}
+
+\membersection{wxProcess::IsInputAvailable}\label{wxprocessisinputavailable}
+
+\constfunc{bool}{IsInputAvailable}{\void}
+
+Returns {\tt true} if there is data to be read on the child process standard
+output stream. This allows to write simple (and extremely inefficient)
+polling-based code waiting for a better mechanism in future wxWidgets versions.
+
+See the \helpref{exec sample}{sampleexec} for an example of using this
+function.
+
+\wxheading{See also}
+
+\helpref{IsInputOpened}{wxprocessisinputopened}
+
+\membersection{wxProcess::IsInputOpened}\label{wxprocessisinputopened}
+
+\constfunc{bool}{IsInputOpened}{\void}
+
+Returns {\tt true} if the child process standard output stream is opened.
+
\membersection{wxProcess::Kill}\label{wxprocesskill}
-\func{static wxKillError}{Kill}{\param{int}{ pid}, \param{wxSignal}{ signal = wxSIGNONE}}
+\func{static wxKillError}{Kill}{\param{int}{ pid}, \param{wxSignal}{ signal = wxSIGNONE}, \param{int }{flags = wxKILL\_NOCHILDREN}}
Send the specified signal to the given process. Possible signal values are:
under both Unix and Windows but all the other signals are equivalent to
{\tt wxSIGTERM} under Windows.
+The {\it flags} parameter can be wxKILL\_NOCHILDREN (the default),
+or wxKILL\_CHILDREN, in which case the child processes of this
+process will be killed too. Note that under Unix, for wxKILL\_CHILDREN
+to work you should have created the process passing wxEXEC\_MAKE\_GROUP\_LEADER.
+
Returns the element of {\tt wxKillError} enum:
\begin{verbatim}
\func{static bool}{Exists}{\param{int}{ pid}}
-Returns {\tt TRUE} if the given process exists in the system.
+Returns {\tt true} if the given process exists in the system.
\wxheading{See also}
\membersection{wxProcess::OnTerminate}\label{wxprocessonterminate}
-\constfunc{void}{OnTerminate}{\param{int}{ pid}, \param{int}{ status}}
+\func{void}{OnTerminate}{\param{int}{ pid}, \param{int}{ status}}
It is called when the process with the pid {\it pid} finishes.
-It raises a wxWindows event when it isn't overridden.
+It raises a wxWidgets event when it isn't overridden.
\docparam{pid}{The pid of the process which has just terminated.}
\membersection{wxProcess::Open}\label{wxprocessopen}
-\func{static wxProcess *}{Open}{\param{const wxString\& }{cmd} \param{int }{flags = wxEXEC\_ASYNC}}
+\func{static wxProcess *}{Open}{\param{const wxString\& }{cmd}, \param{int }{flags = wxEXEC\_ASYNC}}
This static method replaces the standard {\tt popen()} function: it launches
the process specified by the {\it cmd} parameter and returns the wxProcess
\wxheading{Parameters}
\docparam{cmd}{The command to execute, including optional arguments.}
-\docparam{flags}{The flags to pass to \helpref{wxExecute}{wxexecute}.}
+\docparam{flags}{The flags to pass to \helpref{wxExecute}{wxexecute}.
+ NOTE: wxEXEC\_SYNC should not be used.}
\wxheading{Return value}
\helpref{wxExecute}{wxexecute}
+\membersection{wxProcess::GetPid}\label{wxprocessgetpid}
+
+\constfunc{long}{GetPid}{\void}
+
+Returns the process ID of the process launched by \helpref{Open}{wxprocessopen}.
+
\membersection{wxProcess::Redirect}\label{wxprocessredirect}
\func{void}{Redirect}{\void}