#include <QString>
#include <QProcess>
#include <QThread>
/**
* @brief 判断进程是否退出
* @return bool
*/
bool isProcessExist(const QString &strProcessName)
{
QProcess oProcess;
oProcess.start("tasklist");
oProcess.waitForFinished();
QByteArray result = oProcess.readAllStandardOutput();
QString str = result;
if (str.contains(strProcessName))
return true;
else
return false;
}
class WorkThread : public QThread
{
Q_OBJECT
public:
WorkThread();
~WorkThread();
virtual void run() override;
public:
bool m_bRunning;
};
WorkThread::WorkThread()
{
m_bRunning = true;
}
WorkThread::~WorkThread()
{
m_bRunning = false;
}
void WorkThread::run()
{
while (m_bRunning)
{
QThread::usleep(500);
QString strAppName("Revit.exe");//进程名称
if (isProcessExist(strAppName))
{
//处理自己的逻辑
}
else
{
return;
}
}
}
QT起一个线程实时监测某个进程是否正常运行
于 2022-09-21 11:16:37 首次发布