gpt4 book ai didi

C++在linux下启动新进程并终止当前进程

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:58 24 4
gpt4 key购买 nike

这个问题在这里被问过好几次了,但我找不到以下情况的答案:

我的程序使用打开文件句柄的静态链接库,因此,我无法在这些文件句柄上设置 FD_CLOEXEC

由于文件句柄不可用,简单地调用 exec 会导致新进程中出现很多错误

基本上我需要:
1. 在不阻塞当前进程的情况下生成新进程
2.终止当前进程(关闭所有句柄)

我可以在 linux 上做吗?

最佳答案

关闭所有文件描述符应该像

一样简单
#include <unistd.h>

for (i=getdtablesize();i>=0;--i)
close(i); /* close all descriptors */

这也是守护进程期间的标准步骤,参见例如http://www.enderunix.org/docs/eng/daemon.php

关于C++在linux下启动新进程并终止当前进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7738027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com