我正在使用 TinyGo 构建资源有限的基于 ARM 的 Linux 系统。我正在尝试从我的程序中调用其他一些进程,例如killall
:
exec.Command("killall", "someproc").Start()
但是,这会导致一堆错误 ( Process not declared by package os
),而且os/exec
TinyGo 确实不支持。
有没有办法在不使用的情况下从 Go 调用 shell 命令os/exec
?我的第一个想法是使用 Cgo,但这似乎也不适用于 TinyGo:
// #include <unistd.h>
import "C"
func main() {
C.fork()
// exec etc.
}
虽然 Go 运行良好,但在使用 TinyGo ( error: undefined symbol: fork
) 时出现链接器错误。是否有我需要链接以获取fork()
和其他系统调用的库?有没有其他方法可以简单地从 Go 调用 shell 命令?