|
Console Library 8.0.0
A header-only library that makes C++ simple
|
进程控制器,支持创建、等待、控制、信息查询。 More...
#include <process.h>
Public Member Functions | |
| Process () | |
| 默认构造函数,创建无效进程对象。 | |
| ~Process ()=default | |
| 析构函数。 | |
| Process (const Process &)=delete | |
| 拷贝构造函数(删除)。 | |
| Process & | operator= (const Process &)=delete |
| 拷贝赋值运算符(删除)。 | |
| Process (Process &&other) noexcept | |
| 移动构造函数。 | |
| Process & | operator= (Process &&other) noexcept |
| 移动赋值运算符。 | |
| pid_t | pid () const |
| 获取进程 ID。 | |
| bool | valid () const |
| 检查进程对象是否有效。 | |
| ExitStatus | wait () const |
| 等待子进程退出(阻塞)。 | |
| bool | poll (ExitStatus *status) const |
| 非阻塞查询子进程退出状态。 | |
| bool | is_alive () const |
| 检查进程是否存活。 | |
| bool | send_signal (Signal sig) const |
| 向进程发送信号。 | |
| bool | terminate () const |
| 向进程发送 SIGTERM 信号请求终止。 | |
| bool | kill () const |
| 向进程发送 SIGKILL 信号强制杀死。 | |
| bool | stop () const |
| 向进程发送 SIGSTOP 信号暂停执行。 | |
| bool | resume () const |
| 向进程发送 SIGCONT 信号恢复执行。 | |
| ProcessInfo | get_info () const |
| 获取进程详细信息。 | |
| pid_t | ppid () const |
| 获取进程的父进程 ID。 | |
Static Public Member Functions | |
| static Process | invalid () |
| 无效进程对象常量。 | |
| static Process | fork () |
| 经典 fork - 复制当前进程。 | |
| static Process | spawn (int(*fn)(void *), void *arg) |
| 创建子进程执行指定函数。 | |
| static Process | spawn_detach (int(*fn)(void *), void *arg) |
| 发射后不管模式创建子进程。 | |
| static Process | self () |
| 获取当前进程对象。 | |
| static Process | parent () |
| 获取父进程对象。 | |
| static Process | wait_any (ExitStatus *status) |
| 等待任意子进程退出(阻塞)。 | |
| static bool | daemonize () |
| 将当前进程守护化为后台服务进程。 | |
Private Member Functions | |
| Process (pid_t pid) | |
| 私有构造函数,通过 pid 创建 Process 对象。 | |
Static Private Member Functions | |
| static int | sys_kill (pid_t pid, int sig) |
| 向指定进程发送信号。 | |
Private Attributes | |
| pid_t | pid_ |
| 被管理的进程 ID | |
进程控制器,支持创建、等待、控制、信息查询。
|
inlineexplicitprivate |
私有构造函数,通过 pid 创建 Process 对象。
| pid | 进程 ID。 |
|
inline |
默认构造函数,创建无效进程对象。
|
default |
析构函数。
|
delete |
拷贝构造函数(删除)。
|
inlinenoexcept |
移动构造函数。
| other | 要移动的 Process 对象。 |
|
inlinestatic |
将当前进程守护化为后台服务进程。
|
inlinestatic |
经典 fork - 复制当前进程。
|
inline |
获取进程详细信息。
|
inlinestatic |
无效进程对象常量。
|
inline |
检查进程是否存活。
|
inline |
向进程发送 SIGKILL 信号强制杀死。
|
inline |
获取进程 ID。
|
inline |
非阻塞查询子进程退出状态。
| status | 输出参数,存储退出状态信息。 |
|
inline |
获取进程的父进程 ID。
|
inline |
向进程发送 SIGCONT 信号恢复执行。
|
inline |
向进程发送信号。
| sig | 要发送的信号。 |
|
inlinestatic |
创建子进程执行指定函数。
| fn | 子进程执行的函数指针。 |
| arg | 传递给函数的参数。 |
|
inlinestatic |
发射后不管模式创建子进程。
| fn | 子进程执行的函数指针。 |
| arg | 传递给函数的参数。 |
|
inline |
向进程发送 SIGSTOP 信号暂停执行。
|
inlinestaticprivate |
向指定进程发送信号。
| pid | 目标进程 ID。 |
| sig | 信号编号。 |
|
inline |
向进程发送 SIGTERM 信号请求终止。
|
inline |
检查进程对象是否有效。
|
inline |
等待子进程退出(阻塞)。
|
inlinestatic |
等待任意子进程退出(阻塞)。
| status | 输出参数,存储退出状态信息。 |
|
private |
被管理的进程 ID