Class: QgsBlockingProcess¶
A thread safe class for performing blocking (sync) execution of external processes.
This class should be used whenever a blocking process run is required. Unlike implementations which rely on QApplication.processEvents() or creation of a QEventLoop, this class is completely thread safe and can be used on either the main thread or background threads without issue.
Not available on some platforms (e.g. iOS) https://lists.qt-project.org/pipermail/development/2015-July/022205.html
Added in version 3.18.
Class Hierarchy¶
Base classes¶
Methods
After a call to   | 
|
After a call to   | 
|
Runs the process, and blocks until execution finishes.  | 
|
Sets a handler function to call whenever content is written by the process to stderr.  | 
|
Sets a handler function to call whenever content is written by the process to stdout.  | 
- class qgis.core.QgsBlockingProcess[source]¶
 Bases:
QObject- __init__(program: str | None, arguments: Iterable[str | None])
 Constructor for the given
program, with the specified list ofarguments.After construction, call
run()to start the process execution.- Parameters:
 program (Optional[str])
arguments (Iterable[Optional[str]])
- exitStatus(self) QProcess.ExitStatus[source]¶
 After a call to
run(), returns the process’ exit status.- Return type:
 QProcess.ExitStatus
- processError(self) QProcess.ProcessError[source]¶
 After a call to
run(), returns the process’ reported error.Returns QProcess.UnknownError if no error occurred.
- Return type:
 QProcess.ProcessError
- run(self, feedback: QgsFeedback | None = None) int[source]¶
 Runs the process, and blocks until execution finishes.
The optional
feedbackargument can be used to specify a feedback object for cancellation/process termination.After execution completes, the process’ result code will be returned.
- Parameters:
 feedback (Optional[QgsFeedback] = None)
- Return type:
 int