ProcessControl
#include <processcontrol.h>

Public Types | |
| enum | CrashPolicy { StopOnCrash , RestartOnCrash } |
Signals | |
| void | processErrorMessages (const QString &errorMsg) |
| void | restarted () |
| void | unableToStart () |
Public Member Functions | |
| ProcessControl (QObject *parent=nullptr) | |
| ~ProcessControl () override | |
| bool | isRunning () const |
| void | restartOnceWhenFinished () |
| void | setCrashPolicy (CrashPolicy policy) |
| void | setShutdownTimeout (std::chrono::milliseconds timeout) |
| void | start () |
| void | start (const QString &application, const QStringList &arguments=QStringList(), CrashPolicy policy=RestartOnCrash) |
| void | stop () |
Public Member Functions inherited from QObject | |
| QObject (QObject *parent) | |
| QBindable< QString > | bindableObjectName () |
| bool | blockSignals (bool block) |
| const QObjectList & | children () const const |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| void | deleteLater () |
| void | destroyed (QObject *obj) |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectInfo () const const |
| void | dumpObjectTree () const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (Qt::FindChildOptions options) const const |
| bool | inherits (const char *className) const const |
| void | installEventFilter (QObject *filterObj) |
| bool | isQuickItemType () const const |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| void | killTimer (int id) |
| virtual const QMetaObject * | metaObject () const const |
| void | moveToThread (QThread *targetThread) |
| QString | objectName () const const |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| QVariant | property (const char *name) const const |
| Q_CLASSINFO (Name, Value) | |
| Q_EMIT Q_EMIT | |
| Q_ENUM (...) | |
| Q_ENUM_NS (...) | |
| Q_ENUMS (...) | |
| Q_FLAG (...) | |
| Q_FLAG_NS (...) | |
| Q_FLAGS (...) | |
| Q_GADGET Q_GADGET | |
| Q_GADGET_EXPORT (EXPORT_MACRO) | |
| Q_INTERFACES (...) | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_MOC_INCLUDE Q_MOC_INCLUDE | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_OBJECT Q_OBJECT | |
| Q_PROPERTY (...) | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SLOT Q_SLOT | |
| Q_SLOTS Q_SLOTS | |
| T | qobject_cast (const QObject *object) |
| T | qobject_cast (QObject *object) |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| void | removeEventFilter (QObject *obj) |
| void | setObjectName (const QString &name) |
| void | setObjectName (QAnyStringView name) |
| void | setParent (QObject *parent) |
| bool | setProperty (const char *name, const QVariant &value) |
| bool | setProperty (const char *name, QVariant &&value) |
| bool | signalsBlocked () const const |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
| QThread * | thread () const const |
Additional Inherited Members | |
Properties inherited from QObject | |
| objectName | |
Static Public Member Functions inherited from QObject | |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from QObject | |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | customEvent (QEvent *event) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| int | receivers (const char *signal) const const |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
This class starts and observes a process.
Depending on the policy it also restarts the process when it crashes.
Definition at line 20 of file processcontrol.h.
Member Enumeration Documentation
◆ CrashPolicy
These enums describe the behaviour when the observed application crashed.
- StopOnCrash - The application won't be restarted.
- RestartOnCrash - The application is restarted with the same arguments.
Definition at line 32 of file processcontrol.h.
Constructor & Destructor Documentation
◆ ProcessControl()
|
explicit |
Creates a new process control.
- Parameters
-
parent The parent object.
Definition at line 27 of file processcontrol.cpp.
◆ ~ProcessControl()
|
override |
Destroys the process control.
Definition at line 45 of file processcontrol.cpp.
Member Function Documentation
◆ isRunning()
|
nodiscard |
Returns true if the process is currently running.
Definition at line 253 of file processcontrol.cpp.
◆ processErrorMessages
|
signal |
This signal is emitted whenever the observed application writes something to stderr.
- Parameters
-
errorMsg The error output of the observed application.
◆ restarted
|
signal |
This signal is emitted when the server is restarted after a crash.
◆ restartOnceWhenFinished()
|
inline |
Restart the application the next time it exits normally.
Definition at line 72 of file processcontrol.h.
◆ setCrashPolicy()
| void ProcessControl::setCrashPolicy | ( | CrashPolicy | policy | ) |
Sets the crash policy.
Definition at line 61 of file processcontrol.cpp.
◆ setShutdownTimeout()
| void ProcessControl::setShutdownTimeout | ( | std::chrono::milliseconds | timeout | ) |
Sets the time (in msecs) we wait for the process to shut down before we send terminate/kill signals.
Default is 1 second. Note that it is your responsiblility to ask the process to quit, otherwise this is just pointless waiting.
Definition at line 258 of file processcontrol.cpp.
◆ start() [1/2]
| void ProcessControl::start | ( | ) |
Starts the process with the previously set application and arguments.
Definition at line 158 of file processcontrol.cpp.
◆ start() [2/2]
| void ProcessControl::start | ( | const QString & | application, |
| const QStringList & | arguments = QStringList(), | ||
| CrashPolicy | policy = RestartOnCrash ) |
Starts the application with the given list of arguments.
Definition at line 50 of file processcontrol.cpp.
◆ stop()
| void ProcessControl::stop | ( | ) |
Stops the currently running application.
Definition at line 66 of file processcontrol.cpp.
◆ unableToStart
|
signal |
Emitted if the process could not be started since it terminated too often.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri May 2 2025 11:53:10 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.
Public Member Functions inherited from