当前位置: 首页 > 面试题库 >

我可以打开套接字并将其传递给Linux中的另一个进程吗

储臻
2023-03-14
问题内容

在Linux中,是否可以打开套接字并将该套接字传递给另一个进程?如果是,请您告诉我在哪里可以找到示例?

谢谢。


问题答案:

是的,可以,sendmsg()与SCM_RIGHTS一起使用,从一个过程到另一个过程:

SCM_RIGHTS-从另一个进程发送或接收一组打开的文件描述符。数据部分包含文件描述符的整数数组。传递的文件描述符的行为就像它们是使用创建的
dup(2)

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

那不是典型的用法。更常见的情况是进程从其父级继承套接字(在之后fork())。未关闭的所有文件句柄(包括套接字)将对子进程可用。因此,子进程继承了父进程的套接字。

侦听连接的服务器进程称为守护程序。通常,这会分叉到每个新连接上,从而产生一个进程来处理每个新请求。典型守护程序的示例在这里:

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

向下滚动到void process()



 类似资料:
  • 问题内容: 假设我的手机上有一个预先存在的Android应用,在其主屏幕上有一个可以单击的按钮。我知道有一种方法可以从正在创建的应用程序中启动该应用程序,但是有没有一种方法也可以自动单击按钮?我可以传递一个参数吗,我将如何使用它呢? 问题答案: 您不能让您的应用按另一个应用上的按钮。那将是巨大的安全漏洞。 但是,另一个应用程序可能具有如何调用它的选项。这将取决于其他应用程序。您可以使用Intent

  • 问题内容: 我有一个页面,其中会产生一个弹出浏览器窗口。我在父浏览器窗口中有一个JavaScript变量,我想将其传递给弹出的浏览器窗口。 有没有办法做到这一点?我知道这可以在同一浏览器窗口中跨框架完成,但是我不确定是否可以在浏览器窗口中跨框架完成。 问题答案: 如果这些窗口来自同一安全域,并且您对另一个窗口有引用,可以。 Javascript的open()方法返回对创建的窗口的引用(如果重用现有

  • 问题内容: 我正在尝试创建一个脚本,该脚本在python中使用多处理模块。该脚本(我们称其为myscript.py)将从带有管道的另一个脚本获取输入。 假设我这样称呼脚本; 这是代码; 这显然是行不通的,因为sys.stdin对象对于主进程和p1是不同的。所以我已经尝试过解决这个问题, 但是我遇到了这个错误; 因此,我想main的stdin文件已关闭,我无法读取。在这种结合下,如何将main的st

  • 问题内容: 我有两节课。和。 我有一个要在中使用的功能。我当时正在考虑将的引用传递给的构造函数,然后再调用该函数。 那行得通吗?有人可以给我举个例子吗? 提前致谢! 问题答案: 是的,它将起作用。这是一种不错的方法。您只需传递A类的 实例 : 然后您可以拥有:

  • 问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。

  • 嘿,我是一个JAVA新手,我正在做一个项目,在这一点上我被困住了,我想做的是...我已经做了一个JTree列出了其中的一些项,现在我想获得一个JTree的选定项的文本,将它存储在一个字符串对象中,并将它传递给另一个类,在那里我可以对它做进一步的操作...这是我试过的 当我运行程序时,在getVal()中返回一个空值,而不是JTree项的文本,请帮助。