gpt4 book ai didi

java - FreeBSD 上从 java 生成的进程继承父套接字

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

我有 Spring (SprintBoot) 应用程序,作为服务运行并在 FreeBSD 上监听端口 80。

$ sockstat -4 -l | grep 80
root java 98931 30 tcp4 6 *:80 *:*

我正在从我的服务启动另一个服务(例如 samba),如下所示:

Runtime.getRuntime().exec("/usr/sbin/service samba_server start")

并得到这个:

$ sockstat -4 -l | grep 80
root smbd 99735 30 tcp4 6 *:80 *:*
root nmbd 99730 30 tcp4 6 *:80 *:*
root java 98931 30 tcp4 6 *:80 *:*

与其他服务相同。终止我的服务后,端口 80 仍然被占用。为什么会发生这种情况? exec() 是否使用具有完整资源继承的 fork?

最佳答案

vfork/posix_spawn 有所帮助。将此库与 java 绑定(bind)一起使用 https://github.com/axiak/java_posix_spawn

关于java - FreeBSD 上从 java 生成的进程继承父套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31076392/

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