refact: Process::getStatus
log: as title
This commit is contained in:
parent
fd6622c30c
commit
3932b3637e
@ -100,20 +100,30 @@ std::string Process::getEnv(const std::string &key)
|
|||||||
|
|
||||||
Status Process::getStatus()
|
Status Process::getStatus()
|
||||||
{
|
{
|
||||||
if (m_status.size() == 0) {
|
if (!m_status.empty()){
|
||||||
std::string statusFile = getFile("status");
|
|
||||||
FILE *fp = fopen(statusFile.c_str(), "r");
|
|
||||||
if (!fp)
|
|
||||||
return m_status;
|
return m_status;
|
||||||
|
|
||||||
char line[MAX_LINE_LEN] = {0};
|
|
||||||
while (fgets(line, MAX_LINE_LEN, fp)) {
|
|
||||||
std::string info(line);
|
|
||||||
std::vector<std::string> parts = DString::splitStr(info, ':');
|
|
||||||
if (parts.size() == 2)
|
|
||||||
m_status[parts[0]] = parts[1];
|
|
||||||
}
|
}
|
||||||
fclose(fp);
|
|
||||||
|
std::string statusFile = getFile("status");
|
||||||
|
|
||||||
|
std::ifstream fs(statusFile);
|
||||||
|
if (!fs.is_open()) {
|
||||||
|
return m_status;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string tmp = "";
|
||||||
|
while (std::getline(fs, tmp)) {
|
||||||
|
auto pos = tmp.find_first_of(':');
|
||||||
|
if (pos == std::string::npos) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string value;
|
||||||
|
if (pos + 1 < tmp.length()) {
|
||||||
|
value = tmp.substr(pos + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_status[tmp.substr(0, pos)] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return m_status;
|
return m_status;
|
||||||
|
Loading…
Reference in New Issue
Block a user