From 21f94e01f08854092d8e0ed5bf6bb2d6ab82c269 Mon Sep 17 00:00:00 2001 From: zw <3466561528@qq.com> Date: Fri, 4 Jul 2025 13:53:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LFtid1056/main_thread.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/LFtid1056/main_thread.cpp b/LFtid1056/main_thread.cpp index ece39c3..61a31e1 100644 --- a/LFtid1056/main_thread.cpp +++ b/LFtid1056/main_thread.cpp @@ -36,6 +36,30 @@ thread_info_t thread_info[THREAD_CONNECTIONS]; // pthread_mutex_t global_lock = PTHREAD_MUTEX_INITIALIZER; // 全局互斥锁 extern SafeMessageQueue message_queue; +void init_daemon(void) +{ + int pid; + int i; + + if (pid = fork()) + exit(0); /** 是父进程,结束父进程 */ + else if (pid < 0) + exit(1); /** fork失败,退出 */ + + /** 是第一子进程,后台继续执行 */ + + setsid(); /** 第一子进程成为新的会话组长和进程组长并与控制终端分离 */ + + if (pid = fork()) + exit(0); /** 是第一子进程,结束第一子进程 */ + else if (pid < 0) + exit(1); /** fork失败,退出 */ + + chdir("/FeProject/bin/"); //multi process running at same time + umask(0); /** 重设文件创建掩码 */ + + return; +} // 生成测试装置 std::vector generate_test_devices(int count) { std::vector devices; @@ -240,7 +264,7 @@ int main(int argc ,char** argv) {// std::cerr << "process param error,exit" << std::endl; return 1; } - + //init_daemon(); srand(time(NULL)); // 初始化随机数种子 // 初始化线程数组