【发布时间】:2013-03-17 04:19:39
【问题描述】:
由于某些原因,我需要调用系统的一些系统调用(Linux) 我检查了“系统调用”包的文档,但找不到任何关于它的信息。
然后我刚刚看到一个项目(https://github.com/AllenDang/w32/blob/master/kernel32.go),它包装了 windows api。我读了一下它的源代码。
它使用
modkernel32 = syscall.NewLazyDLL("kernel32.dll")
加载动态库。但是,函数 NewLazyDLL() 没有文档
我相信 Linux/UNIX 应该有类似的功能。有没有人可以告诉 我是函数的名称或在 Golang 中调用 Linux 系统调用的方式或 从 libc.so 加载函数?
更多详情
我想调用系统调用 'daemon' 或 'fork'(我想守护进程),因为我找不到 golang 库提供它们。
【问题讨论】:
-
你到底想做什么?
syscall包是直接系统调用接口的正确包,但是如果不知道你想做什么就很难给出任何建议。但是,您不会在 UNIX 版本的包中找到 DLL 加载,因为这不是系统调用接口的一部分。 -
感谢James的回复。其实我只是想知道如何获取系统调用接口。
标签: go system-calls