class KProcess |
|
Child process invocation, monitoring and control.
This class extends QProcess by some useful functionality, overrides some defaults with saner values and wraps parts of the API into a more accessible one. This is the preferred way of spawning child processes in KDE; don't use QProcess directly.
Author Oswald Buddenhagen |
|
Constructor |
|
Internal |
|
Empties the process' environment.
Note that LD_LIBRARY_PATH/DYLD_LIBRARY_PATH is automatically added on *NIX. This function must be called before starting the process. |
|
Clear the program and command line argument list. |
|
Start the process, wait for it to finish, and return the exit code.
This method is roughly equivalent to the sequence:
Unlike the other execute() variants this method is not static, so the process can be parametrized properly and talked to. msecs - time to wait for process to exit before killing it Returns -2 if the process could not be started, -1 if it crashed, otherwise its exit code |
|
exe - the program to execute args - the command line arguments for the program, one per list element msecs - time to wait for process to exit before killing it Returns -2 if the process could not be started, -1 if it crashed, otherwise its exit code |
|
argv - the program to execute and the command line arguments for the program, one per list element msecs - time to wait for process to exit before killing it Returns -2 if the process could not be started, -1 if it crashed, otherwise its exit code |
|
Append an element to the command line argument list for this process.
If no executable is set yet, it will be set instead. For example, doing an "ls -l /usr/local/bin" can be achieved by: KProcess p; p << "ls" << "-l" << "/usr/local/bin"; ... This function must be called before starting the process, obviously. arg - the argument to add Returns a reference to this KProcess |
|
args - the arguments to add Returns a reference to this KProcess |
|
Query how the output channels of the child process are handled.
Returns the output channel handling mode |
|
Obtain the process' ID as known to the system.
Unlike with QProcess.pid(), this is a real PID also on Windows. This function can be called only while the process is running. It cannot be applied to detached processes. Returns the process ID |
|
Obtain the currently set program and arguments.
Returns a list, the first element being the program, the remaining ones being command line arguments to the program. |
|
Adds the variable name to the process' environment.
This function must be called before starting the process. name - the name of the environment variable value - the new value for the environment variable overwrite - if false and the environment variable is already set, the old value will be preserved |
|
Set the QIODevice open mode the process will be opened in.
This function must be called before starting the process, obviously. mode - the open mode. Note that this mode is automatically "reduced" according to the channel modes and redirections. The default is QIODevice.ReadWrite. |
|
Set how to handle the output channels of the child process.
The default is ForwardedChannels, which is unlike in QProcess. Do not request more than you actually handle, as this output is simply lost otherwise. This function must be called before starting the process. mode - the output channel handling mode |
|
Set the program and the command line arguments.
This function must be called before starting the process, obviously. exe - the program to execute args - the command line arguments for the program, one per list element |
|
argv - the program to execute and the command line arguments for the program, one per list element |
|
Set a command to execute through a shell (a POSIX sh on *NIX
and cmd.exe on Windows).
Using this for anything but user-supplied commands is usually a bad idea, as the command's syntax depends on the platform. Redirections including pipes, etc. are better handled by the respective functions provided by QProcess. This function must be called before starting the process, obviously. cmd - the command to execute through a shell. The caller must make sure that all filenames etc. are properly quoted when passed as argument. Failure to do so often results in serious security holes. See KShell.quoteArg(). |
|
Start the process.
See also QProcess.start(const QString &, const QStringList &, OpenMode) |
|
Start the process and detach from it. See QProcess.startDetached()
for details.
Unlike the other startDetached() variants this method is not static, so the process can be parametrized properly. Currently, only the setProgram()/setShellCommand() and setWorkingDirectory() parametrizations are supported. The KProcess object may be re-used immediately after calling this function. Returns the PID of the started process or 0 on error |
|
exe - the program to start args - the command line arguments for the program, one per list element Returns the PID of the started process or 0 on error |
|
argv - the program to start and the command line arguments for the program, one per list element Returns the PID of the started process or 0 on error |
|
Removes the variable name from the process' environment.
This function must be called before starting the process. name - the name of the environment variable |
Modes in which the output channels can be opened.
SeparateChannels | - QProcess::SeparateChannels | - | ||
MergedChannels | - QProcess::MergedChannels | - | ||
ForwardedChannels | - QProcess::ForwardedChannels | - | ||
OnlyStdoutChannel | - | - | ||
OnlyStderrChannel | - | - |