gpt4 book ai didi

linux - golang 使用父进程命名空间在 linux 中读取文件

转载 作者:数据小太阳 更新时间:2023-10-29 03:19:10 25 4
gpt4 key购买 nike

我在linux中使用setns系统调用来设置当前go进程的NET命名空间。这个命名空间改变了/sys/class/net 对当前进程的显示方式。但是,如果我尝试使用 golang api 查看这些文件,我只会看到父 View (没有命名空间)。我认为这是因为 go 在没有继承父 namespace 的情况下 fork 。我如何使用 go 读取/sys/class/net 中的文件,以便 setns 系统调用在正在读取文件的 child 中持续存在。

最佳答案

原来这是一个已知的“wontfix”问题:https://github.com/golang/go/issues/8676

我发现的解决方法是使用 cgo fork 一个公开给 go 运行时的 c 函数,然后调用 setns。

关于linux - golang 使用父进程命名空间在 linux 中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589032/

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