/* 启动消息:启动一个服务子进程 */ static void proctl_msg_start(PROCTL_MSG *msg) { PROCTL_SERVICE *service = msg->service; proctl_service_add(service); (void) proctl_service_start(service); }
static int proctl_service_restart(PROCTL_SERVICE *service) { handles_del(service->hProcess); CloseHandle(service->hProcess); service->hProcess = INVALID_HANDLE_VALUE; return (proctl_service_start(service)); }
int acl_proctl_deamon_start_one(const char *progchild, int argc, char *argv[]) { const char *myname = "acl_proctl_deamon_start_one"; PROCTL_SERVICE *service; if (proctl_service_exist(progchild)) { acl_msg_error("%s(%d): child(%s) maybe be running!", myname, __LINE__, progchild); return (-1); } service = proctl_service_new(progchild, argc, argv); if (proctl_service_start(service) < 0) { proctl_service_free(service); return (-1); } return (0); }