相关疑难解决方法(0)

Go:获取信号来源

我正在使用Go来启动几个脚本,当他们遇到一些问题时,他们使用"警报"信号,我知道Go可以捕获这些信号,但我需要知道发出信号的PID.在C中给信号处理程序传递一个结构来知道发起信号的pid但是在Go中看起来并非如此

package main

import (
    "fmt"
    "os"
    "os/signal"
)

func main() {

    c := make(chan os.Signal, 1)
    signal.Notify(c, os.Interrupt, os.Kill)

    s := <-c
    fmt.Println("Got signal:", s)
    fmt.Printf("%+v\n",s)
}
Run Code Online (Sandbox Code Playgroud)

下面的示例(从信号文档中提取)向我发送发起呼叫但不是任何有用信息的信号(如pid)

signals go

8
推荐指数
1
解决办法
835
查看次数

标签 统计

go ×1

signals ×1