golang get process name by pid_cylon-编程思维

一个很好的问题:How golang to get process name by process id (pid)?

目前看来go api并没有提供通过pid获取进程名称的方法,可以通过 /proc/<pid>/cmdline来获取对应的进程名称,也可以通过 readlink /proc/6530/exe 来获取

  • /proc/<pid>/cmdline 获取的为运行进程的名称,通常包含一些特殊字符。例如 "-bash\x00"sshd: root@pts/0
  • readlink /proc/6530/exe 获取的为对应进程运行的程序的路径
pid := os.Getppid()
contents, err := ioutil.ReadFile(fmt.Sprintf("/proc/%d/cmdline",pid))
pid := os.Getppid()
contents, err := os.Readlink(fmt.Sprintf("/proc/%d/cmdline",pid))

Reference
process name from pid

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/Cylon/p/15487997.html