2012-10-09 62 views
0

分叉进程是否继承父进程绑定的任何(服务器)端口?
我有一个java进程,它分叉子进程,并从netstat -anpt |grep我看到,父母和孩子都绑定到同一个端口。
这可能吗?有没有办法绕过这个?子进程继承什么?

回答

0

分叉进程是否继承父进程绑定的任何(服务器)端口?

它继承了其父代的资源。这是操作系统的行为方式。

有没有办法解决这个问题?

孩子必须关闭所有不需要的资源。这在C中相对容易,但在Java中并不简单。可能有一种方法可以使用一组干净的资源来启动Java进程,但我不知道如何执行此操作。

+0

我的问题是,我启用远程调试端口在父进程'-Xdebug -Xnoagent -Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 8989',当我做'netstat' I看到子进程和父进程都“绑定”到这个端口。所以我不能进行调试。对于我可以尝试围绕这个工作的任何想法,你有什么想法吗? – Jim

+0

这为什么会阻止调试?只有一个进程将接受该端口的连接。 –

+0

由于分叉进程是'C++',它似乎试图部署服务器并使用该端口结束。所以'jpda'不能绑定在那里。这听起来合理的假设吗?这就是我所了解的情况 – Jim