由于某些原因,我需要调用系统(Linux)的一些系统调用。我查阅了'syscall'包的文档,但没有找到相关信息。
后来我看到了一个项目(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 Henstridge