如何在golang中调用Linux/UNIX的系统调用

Jan*_*.Le 6 system-calls go

由于某些原因,我需要调用系统的一些系统调用(Linux)我检查了'syscall'包的文档,但找不到任何关于它的信息.

然后我刚看到一个包装windows apis 的项目(https://github.com/AllenDang/w32/blob/master/kernel32.go).我读了一下它的源代码.

它用

modkernel32 = syscall.NewLazyDLL("kernel32.dll")
Run Code Online (Sandbox Code Playgroud)

加载动态库.但是,没有函数NewLazyDLL()的文档

我确信Linux/UNIX应该有类似的功能.有没有人可以告诉我函数的名称或在Golang中调用Linux系统调用或从libc.so加载函数的方法?

更多细节

我想调用系统调用'守护进程'或'fork'(我想守护进程),因为我找不到golang库提供它们.

Jam*_*dge 3

daemon目前 Go 标准库中没有样式函数。关于添加这样的功能存在一个未解决的错误,但它已被推迟到 Go 1.1 版本之后。我建议您阅读错误报告,因为它并不像乍看起来那么简单。

除了守护进程 fork 本身之外,还有其他方法可以运行守护进程。例如,像 Upstart 和 Systemd 这样的现代 init 守护进程可以为您管理此类守护进程。