golang 获取 当前进程pid

获取到运行进程的PID是非常有用的。操作系统应用可以使用PID来查找关于进程本身的信息。当进程失败时获取到的PID就非常有价值,这样就可以使用PID跟踪整个系统中的系统日志,如/var/log/messages/var/log/syslog

获取当前进程PID

Golang 版本

1.12.1

前言

获取到运行进程的PID是非常有用的。操作系统应用可以使用PID来查找关于进程本身的信息。当进程失败时获取到的PID就非常有价值,这样就可以使用PID跟踪整个系统中的系统日志,如/var/log/messages/var/log/syslog

实现

package main

import (
    "fmt"
    "os"
    "os/exec"
    "strconv"
)

func main() {

    pid := os.Getpid()
    fmt.Printf("进程 PID: %d \n", pid)

    prc := exec.Command("ps", "-p", strconv.Itoa(pid), "-v")
    out, err := prc.Output()
    if err != nil {
        panic(err)
    }

    fmt.Println(string(out))
}
进程 PID: 28259 
  PID TTY      STAT   TIME  MAJFL   TRS   DRS   RSS %MEM COMMAND
28259 pts/0    Sl+    0:00      0   648 102535 1224  0.0 ./main

原理

os包中的Getpid方法返回当前进程的PID。上述例子演示了如何通过系统应用ps命令获取该进程的更多信息。

在应用开始时打印PID可能很有用,在应用崩溃时,获取到的PID就可以调查相应的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值