在Linux中,我是否可以打开一个套接字并将其传递给另一个进程?

非常感谢.

推荐答案

是的,您可以使用sendmsg(),从一个进程到另一个进程使用SCM_权限:

SCM_RIGHTS-发送或接收一组

http://linux.die.net/man/7/unix

但这不是典型的用法.更常见的情况是进程从其父进程继承套接字(在fork()之后).任何未关闭的文件句柄(包括套接字)都将可用于子进程.因此,子进程继承父进程的套接字.

监听连接的服务器进程称为守护进程.这通常会在每个新连接上Forking ,生成一个进程来处理每个新请求.典型守护进程的示例如下:

http://www.steve.org.uk/Reference/Unix/faq_8.html#SEC88

向下滚动到void process().

Linux相关问答推荐

在PowerShell for Linux上,打印出的maven命令还有其他字符

如何更正我的CMakeLists.txt,使我的项目同时构建在Linux和Windows上?

将十六进制文件名转换为十进制

bind() 错误 98 - 地址已在使用中

将(覆盖)文件移动到不同位置的同名文件夹中

为什么`__vfprintf_internal`(`stdio.h`中的`printfn`)强制`$rbp`在我的x86-64机器上向前跳转6313864字节?

Rust unix 进程

使用 sed 或 awk 在 linux 中将第一行中的一个单词替换为第二行中的另一个单词

访问证书里面的图片

如何在makefile中包含静态库

如何使用该位置的相对路径在单个位置创建多个文件夹?

crontab 命令单独一行

nvm:无法卸载当前活动的 node 版本

Pthread mutex互斥断言错误

docker images显示图像,docker rmi表示没有这样的图像或参考不存在

*nix 系统上是否有与 COM 等效的功能?如果不是,那么 *nix 的可重用性方法是什么?

后缀 - status=bounced(未知用户myuser)

Hierarchical分层 ldd(1)

带有日期和时间的 Linux 命令历史记录

如何停止 Linux 上的不间断进程?