6

由于某些原因,我需要调用系统(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库提供它们。

4

1 回答 1

3

目前 Go 标准库中没有daemon样式函数。添加此类功能存在一个未解决的错误,但已推迟到 Go 1.1 发布之后。我建议阅读错误报告,因为它并不像最初出现的那么简单。

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

于 2013-03-27T07:10:38.033 回答