我想在OS X上启动子进程,这样子进程就不会继承当前进程的打开文件/端口。
对如何实现这一点有什么建议吗?我可以使用system()函数调用的Shell命令也可以工作--我只是不知道有什么好的shell命令可以实现这一点。
谢谢!
发布于 2009-08-21 02:30:57
在Mac上,您可以使用使用opendir()/readdir()读取目录/dev/fd/来确定打开的文件描述符的集合。有了这些信息,您可以对每个打开的文件描述符调用fcntl(fd, F_SETFD, FD_CLOEXEC),或者在派生之后对每个文件描述符调用close(fd)。
有关其他详细信息,请参阅Getting the highest allocated file descriptor,包括其他系统的方法。
https://stackoverflow.com/questions/1309521
复制相似问题