golang 利用信号监听保持主线程不退出

搞了个小脚本,最初用了死循环保持主线程不退出,后来发现CPU占用很高.最后用了如下办法

直接上代码吧.

package main

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

// 监听指定信号
func main() {
//合建chan
c := make(chan os.Signal)
//监听指定信号 ctrl+c kill
signal.Notify(c, os.Interrupt, os.Kill, syscall.SIGUSR1, syscall.SIGUSR2)
//阻塞直到有信号传入
fmt.Println("启动")
//阻塞直至有信号传入
s := <-c
fmt.Println("退出信号", s)
}

没有评论 to “golang 利用信号监听保持主线程不退出”

留下评论:

昵称(必须):
邮箱地址 (不会被公开) (必须):
站点
评论 (必须)
XHTML: 您可以使用这些标记: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>