Linux kernel 守护程序模式下的netlink_单播返回错误号-111(连接被拒绝)

Linux kernel 守护程序模式下的netlink_单播返回错误号-111(连接被拒绝),linux-kernel,daemon,fork,netlink,Linux Kernel,Daemon,Fork,Netlink,我有一个使用Netlink的Linux内核模块,以便与用户空间中运行的守护进程通信 在开发阶段,我总是像正常进程一样运行守护程序可执行文件,而不调用fork,而且一切正常 到目前为止,主行为的开发已经完成,因此我正在实现一个-daemon参数,该参数调用fork方法,并按照前面链接中的描述设置ID,以继续正常过程 下一步是,在初始化Netlink套接字之后,守护进程调用Linux内核模块,这一步是保存守护进程的PID以推送消息。 Linux内核守护进程正确地接收来自守护进程的消息,但无法使用返回

我有一个使用Netlink的Linux内核模块,以便与用户空间中运行的守护进程通信

在开发阶段,我总是像正常进程一样运行守护程序可执行文件,而不调用fork,而且一切正常

到目前为止,主行为的开发已经完成,因此我正在实现一个-daemon参数,该参数调用fork方法,并按照前面链接中的描述设置ID,以继续正常过程

下一步是,在初始化Netlink套接字之后,守护进程调用Linux内核模块,这一步是保存守护进程的PID以推送消息。 Linux内核守护进程正确地接收来自守护进程的消息,但无法使用返回errno-111 Connection-densed的netlink_单播发送消息

我已经检查了Linux内核模块接收到的PID,它在分叉后与守护进程相同,因此看起来是正确的


你知道为什么我的守护进程在分叉时无法使用recvmsg方法从我的Linux内核模块接收消息吗?

@artless noise是对的,我忘记调用umask0

他们为什么叫umask0;?我想这是一个许可问题。为什么不使用这个geekstuff链接呢?是的,为什么不。。。我刚刚找到了一个看起来不错的链接,但如果daemon解决了这个问题,对我来说就没问题了!谢谢你,我试试看,然后告诉你