【go底层实现系列】golang对linux系统调用的封装

先来看个代码

import (
"fmt"
"syscall"
)

func main(){
pid,_,_:=syscall.Syscall(39,0,0,0);
fmt.Println("pid is ",pid);
}

这里的39是什么意思呢,能取到当前程序的pid。

go对linux系统调用的封装都在/usr/local/go/src/syscall/zsysnum_linux_arm64.go文件中。
这个文件封装了313个系统调用,或者暴露了linux的313个系统调用的入口。