我使用以下方法在我的父进程中跟踪我的子进程及其“标题”:
struct c_process {
string device;
pid_t pid;
};
vector<c_process> children;
当我 SIGHUP 父级并重新加载其“配置”时,我会根据“文件夹”是否存在来终止并分叉这些子级。
Parent running
Folders /a1 /a3
Reads config and spawn processes (list of folders)
vector<c_process> = {['a1', 111], ['a3', 222]}
Something changes folders
Folders /a1 /a4 /a5
SIGHUP parent
Reads config and spawn processes
vector<c_process> = {['a1', 111], ['a4', 1121], ['a5', 452]}
当我阅读文件夹列表并需要决定“需要添加/分叉的内容”和“需要“删除/终止的内容”时,就会出现我的问题。
vector<string> config;
vector<c_process> c_process;
那么使用上述结构我该怎么做呢?