进程管理的静态工具类 更多...
#include <sttnet.h>
静态 Public 成员函数 | |
| template<class... Args> | |
| static bool | startProcess (const std::string &name, const int &sec=-1, Args...args) |
| 启动一个新进程(可选择是否定时重启) 更多... | |
| template<class Fn , class... Args> | |
| static std::enable_if <!std::is_convertible< Fn, std::string >::value, bool > ::type | startProcess (Fn &&fn, const int &sec=-1, Args &&...args) |
| 通过函数创建子进程(可选择是否定时重启) 更多... | |
进程管理的静态工具类
|
inlinestatic |
启动一个新进程(可选择是否定时重启)
当 sec == -1 时,仅启动一次子进程;否则,会创建一个辅助子进程,定期重启该目标进程。
| Args | 可变参数类型(用于传递给目标程序的 argv) |
| name | 要执行的程序路径(如 /usr/bin/myapp) |
| sec | 定时间隔(单位:秒)。若为 -1,则表示只启动一次,不定时。 |
| args | 启动参数(第一个参数必须是程序名称,即 argv[0],末尾不需要添加 nullptr) |
|
inlinestatic |
通过函数创建子进程(可选择是否定时重启)
使用一个可调用对象(如 Lambda、函数指针、std::function)作为新子进程的主体逻辑。
sec == -1,函数仅执行一次;| Fn | 可调用对象类型(如函数、Lambda) |
| Args | 可调用对象的参数类型 |
| fn | 要执行的函数或可调用对象 |
| sec | 定时间隔(单位:秒)。若为 -1,则表示只执行一次,不定时。 |
| args | 要传递给函数的参数 |
1.8.5