流程状态-变更通知例程

用途

允许在主进程和线程状态转换时通知内核扩展。

语法

void prochadd_handler ( term,  type,  id)
struct proch *term;
int type;
long id;
void proch_reg_handler ( term,  type,  id)
struct prochr *term;
int type;
long id;

参数

描述
期限 指向在 Prochadd 调用中使用的 普罗赫 结构,或指向在 proch_reg 调用中使用的 普罗赫尔 结构。
TYPE 定义正在报告的状态更改事件: 进程初始化,进程终止,进程 exec ,线程初始化或线程终止。 这些值在 /usr/include/sys/proc.h 文件中定义。 可能传递为 类型 的值也取决于请求调出的方式。

可能的 prochadd_handler 类型 值:

PROCH_INITIALIZE
进程正在初始化。
PROCH_TERMINATE
进程正在终止。
PROCH_EXEC
进程即将执行一个新程序。
THREAD_INITIALIZE
已创建新线程。
THREAD_TERMINATE
线程已终止。

可能的 proch_reg_handler 类型 值:

PROCHR_INITIALIZE
进程正在初始化。
PROCHR_TERMINATE
进程正在终止。
PROCHR_EXEC
进程即将执行一个新程序。
PROCHR_THREAD_INIT
已创建新线程。
PROCHR_THREAD_TERM
线程已终止。
标识 请定义进程标识或线程标识。

描述

通知调出是通过使用 Prochaddproch_reg 内核服务进行设置。 如果您使用 Prochadd 内核服务来请求通知,那么调出将遵循首先显示为 prochadd_handler的语法。 如果使用 proch_reg 内核服务来请求通知,那么调出将遵循显示为 proch_reg_handler的第二个语法。

对于进程初始化, 进程状态-更改通知 例程在父进程的 执行环境 中进行调用,以初始化新创建的子进程。 对于内核进程,当调用 初始化 内核服务以完成初始化时,将调用通知例程。

对于进程终止,将在内核处理缺省终止过程之前调用通知例程。 必须编写这些例程,以便在终止进程下不分配任何资源。 将在终止过程的过程映像下调用通知例程。