您的位置:首页 > 编程语言 > Go语言

Go 语言signal例子

2018-01-18 18:53 309 查看
代码:

package main

import (

    "fmt"

    "os"

    "os/signal"

    "syscall"

)

func main () {

    c := make(chan os.Signal)

    signal.Notify(c, os.Interrupt, os.Kill, syscall.SIGUSR1, syscall.SIGUSR2)

    n := <-c

    if n == os.Interrupt {

        fmt.Println("signal Interrupt")

    }

    if n == os.Kill {

        fmt.Println("signal Kill")

    }

    if n == syscall.SIGUSR1 {

        fmt.Println("signal user1")

    }

    if n == syscall.SIGUSR2 {

        fmt.Println("signal user2")

    }

}

测试:

ctrl + c

kill pid

kill -USR1 pid

kill -USR2 pid
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Go