相关疑难解决方法(0)

使使用 system() 生成的子进程在父进程收到终止信号并退出后继续运行

在 Linux/C++ 库中,我通过 system() 调用启动一个进程,

system("nohup processName > /dev/null&");
Run Code Online (Sandbox Code Playgroud)

对于一个自行退出的简单测试应用程序来说,这似乎工作得很好,但如果我从获得终止信号的 Nodejs/V8 扩展内部使用它,子进程就会被终止。我确实发现跑步,

system("sudo nohup processName > /dev/null&");
Run Code Online (Sandbox Code Playgroud)

将 sudoers 文件设置为不需要密码后,即使父进程(节点)退出,也可以使其运行。有没有办法完全分离子进程,以便发送到父进程的信号和父进程退出不再对子进程产生影响?最好是在 system() 调用中,而不是需要获取进程 ID 并用它做某事的东西。

c c++ linux process node.js

2
推荐指数
1
解决办法
2780
查看次数

标签 统计

c ×1

c++ ×1

linux ×1

node.js ×1

process ×1