我们将一个进程也视为一个对象,那么一个进程就需要以下的元素
-
fd0
: 管道,通过这个管道接收主进程的数据 -
fd1
:管道,通过这个管道给主进程发数据 -
pid
:子进程的pid -
isbusy
:此子进程是否在忙
class Process
{
public:
Process(int fd0, int fd1, pid_t process_pid) : _fd0(fd0), _fd1(fd1), _process_pid(process_pid), _isbusy(false) {}
~Process() {}
// 获取父进程要写入的管道
int get_fd0() { return _fd0; }
// 获取子进程要写入的管道
int get_fd1() { return _fd1; }
// 获取子进程pid
pid_t get_process_pid() { return _process_pid; }
// 获取是否忙碌标志位
bool get_isbusy() { return _isbusy; }
// 修改标志为
void set_isbusy(bool flag) { _isbusy = flag; }
private:
int _fd0; // 父进程要写入的管道
int _fd1; // 父进程要读入的管道
pid_t _process_pid; // 子进程pid
bool _isbusy; // 是否忙碌标志位
};