在 Golang 中,可以使用 os.Readlink 函数读取 /proc/pid/exe 文件的内容,从而获取进程的全路径。具体代码如下:
package main
import (
"fmt"
"os"
)
func main() {
pid := os.Getpid()
exePath, err := os.Readlink(fmt.Sprintf("/proc/%d/exe", pid))
if err != nil {
fmt.Println("Failed to read executable path:", err)
return
}
fmt.Println("Executable path:", exePath)
}
在这个例子中,我们首先调用 os.Getpid() 函数获取当前进程的 PID,然后使用 fmt.Sprintf 格式化出 /proc/pid/exe 文件的路径。接着调用 os.Readlink 函数读取该文件的内容,并将结果存储在变量 exePath 中。最后输出该变量即可。
需要注意的是,在某些情况下可能会由于权限问题或者其他原因导致读取失败,此时应该根据实际情况进行处理。




