golang читает файлы в linux с пространством имен родительского процесса - PullRequest
0 голосов
/ 14 июня 2019

Я использовал системный вызов setns в linux для установки пространства имен текущего процесса go.Это пространство имен изменяет способ отображения / sys / class / net для текущего процесса.Однако, если я попытаюсь просмотреть эти файлы с помощью golang apis, я увижу только представление родителя (не в пространстве имен).Я думаю, это потому, что go разветвляется, не наследуя пространство имен родителя.Как я могу прочитать файлы в / sys / class / net с помощью go, чтобы системный вызов setns сохранялся у ребенка, который читает файл.

1 Ответ

0 голосов
/ 15 июня 2019

выясняет, что это известная проблема 'wontfix' в go: https://github.com/golang/go/issues/8676

Обходной путь, который я обнаружил, состоял в том, чтобы использовать cgo для форка в функции ac, работающей во время выполнения go, и затем вызвать setns.

...