forked from qunarcorp/startalk_pc_v2
-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathHangManagerProcess.cpp
40 lines (32 loc) · 966 Bytes
/
HangManagerProcess.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "HangManagerProcess.h"
#include <QDebug>
#include <QApplication>
static const char *processName = "HangMonitor.exe";
HangManagerProcess::HangManagerProcess(QObject *parent)
: QObject(parent)
{
connect(&_process, &QProcess::stateChanged, this,
&HangManagerProcess::processStateChanged);
connect(&_process, &QProcess::readyRead, this,
&HangManagerProcess::onReadReady);
}
HangManagerProcess *HangManagerProcess::instance()
{
static HangManagerProcess ins;
return &ins;
}
void HangManagerProcess::processStateChanged(QProcess::ProcessState state)
{
qInfo() << state;
}
void HangManagerProcess::onReadReady()
{
qInfo() << _process.readAll();
}
void HangManagerProcess::start()
{
QStringList args;
args << QString::number(QApplication::applicationPid());
_process.start(QString("%1/%2").arg(QApplication::applicationDirPath(),
processName), args);
}