以下を使用して、親プロセスで子プロセスとその「タイトル」を追跡します。
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;
上記の構造で、どうすればこれを行うことができますか?