Also stop and resume child processies.

This commit is contained in:
Carl Klemm 2020-06-09 13:41:00 +02:00
parent f32b7bc869
commit f196f48a1c
3 changed files with 229 additions and 85 deletions

View file

@ -1,15 +1,33 @@
#pragma once
#include <string>
#include <vector>
#include <sys/types.h>
class Process
{
private:
pid_t pid_ = -1;
pid_t ppid_ = -1;
std::string name_;
bool stoped_ = false;
private:
std::vector<std::string> openStatus();
std::vector<pid_t> getAllProcessPids();
static pid_t convertPid(const std::string& pid);
public:
pid_t pid = -1;
std::string name;
bool operator==(const Process& in);
bool operator!=(const Process& in);
std::string getName();
void stop(bool children = false);
void resume(bool children = false);
bool getStoped();
pid_t getPid();
pid_t getPPid();
Process getParent(){return Process(getPPid());}
std::vector<Process> getChildren();
Process(){}
Process(pid_t pidIn);
};