acl  3.5.3.0
acl_proctl.h 文件参考
#include "../stdlib/acl_define.h"
#include <stdlib.h>
+ acl_proctl.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

函数

ACL_API void acl_proctl_daemon_path (char *buf, size_t size)
 
ACL_API void acl_proctl_deamon_init (const char *progname)
 
ACL_API void acl_proctl_daemon_loop (void)
 
ACL_API int acl_proctl_deamon_start_one (const char *progchild, int argc, char *argv[])
 
ACL_API void acl_proctl_start_one (const char *progname, const char *progchild, int argc, char *argv[])
 
ACL_API void acl_proctl_stop_one (const char *progname, const char *progchild, int argc, char *argv[])
 
ACL_API void acl_proctl_stop_all (const char *progname)
 
ACL_API void acl_proctl_quit (const char *progname)
 
ACL_API void acl_proctl_list (const char *progname)
 
ACL_API void acl_proctl_probe (const char *progname, const char *progchild)
 
ACL_API void acl_proctl_child (const char *progname, void(*onexit_fn)(void *), void *arg)
 

函数说明

◆ acl_proctl_child()

ACL_API void acl_proctl_child ( const char *  progname,
void(*)(void *)  onexit_fn,
void *  arg 
)

子进程调用接口,通过此接口与父进程之间建立控制/被控制关系

参数
progname{const char*} 子进程进程名
onexit_fn{void (*)(void*)} 如果非空则当子进程退出时调用的回调函数
arg{void*} onexit_fn 参数之一

◆ acl_proctl_daemon_loop()

ACL_API void acl_proctl_daemon_loop ( void  )

控制进程作为后台服务进程运行,监视所有子进程的运行状态, 如果子进程异常退出则会重启该子进程

◆ acl_proctl_daemon_path()

ACL_API void acl_proctl_daemon_path ( char *  buf,
size_t  size 
)

获取控制进程的执行程序所在的路径位置

参数
buf{char*} 存储结果的内存位置, 返回的结果的结尾 不包含 "\" 或 "/", 如:"C:\\test_path\\test1_path", 而不是 "C:\\test_path\\test1_path\\"
size{size_t} buf 的空间大小

◆ acl_proctl_deamon_init()

ACL_API void acl_proctl_deamon_init ( const char *  progname)

初始化进程控制框架(仅 acl_proctl_start 需要)

参数
progname{const char*} 控制进程进程名

◆ acl_proctl_deamon_start_one()

ACL_API int acl_proctl_deamon_start_one ( const char *  progchild,
int  argc,
char *  argv[] 
)

在控制进程启动后,启动一个子进程

参数
progchild{const char*} 子进程的程序名
argc{int} argv 数组的长度
argv{char* []}
返回
0: ok; -1: error

◆ acl_proctl_list()

ACL_API void acl_proctl_list ( const char *  progname)

列出当前所有正在运行的服务进程

参数
progname{const char*} 控制进程进程名

◆ acl_proctl_probe()

ACL_API void acl_proctl_probe ( const char *  progname,
const char *  progchild 
)

探测某个服务进程是否在运行

参数
progname{const char*} 控制进程进程名
progchild{const char*} 子进程进程名

◆ acl_proctl_quit()

ACL_API void acl_proctl_quit ( const char *  progname)

以命令方式通知控制进程停止所有的子进程,并在子进程退出后控制进程也自动退出

参数
progname{const char*} 控制进程进程名

◆ acl_proctl_start_one()

ACL_API void acl_proctl_start_one ( const char *  progname,
const char *  progchild,
int  argc,
char *  argv[] 
)

以命令方式启动某个子进程

参数
progname{const char*} 控制进程进程名
progchild{const char*} 子进程进程名
argc{int} argv 数组的长度
argv{char* []} 传递给子进程的参数

◆ acl_proctl_stop_all()

ACL_API void acl_proctl_stop_all ( const char *  progname)

以命令方式停止所有的子进程

参数
progname{const char*} 控制进程进程名

◆ acl_proctl_stop_one()

ACL_API void acl_proctl_stop_one ( const char *  progname,
const char *  progchild,
int  argc,
char *  argv[] 
)

以命令方式停止某个子进程

参数
progname{const char*} 控制进程进程名
progchild{const char*} 子进程进程名
argc{int} argv 数组的长度
argv{char* []} 传递给子进程的参数