赞
踩
在Linux操作系统中,通过kill -l来查看所有的信号。
对于同一个进程来说,每种标准信号只会被记录并处理一次。
如果发送给某一个进程的标准信号有多个,他们的处理顺序是不确定。
package main import ( "fmt" "os" "os/signal" ) func main() { // 创建一个管道,是Notify的第一个参数的类型 sigRecv := make(chan os.Signal, 1) // 发送通知 signal.Notify(sigRecv) // 从管道中读取信号 for sig := range sigRecv { fmt.Printf("Received a signal: %s\n", sig) } }
package main import ( "fmt" "os" "os/signal" ) func main() { // 创建一个管道,是Notify的第一个参数的类型 sigRecv := make(chan os.Signal, 1) // 发送通知 signal.Notify(sigRecv) // 从管道中读取信号 for sig := range sigRecv { fmt.Printf("Received a signal: %s\n", sig) // 取消 signal.Stop(sigRecv) close(sigRecv) } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。