最新消息:欢迎加入小松的QQ群一起讨论一起学习,搜索页面修改成lua+ElasticSearch,使用php这个页面速度相对慢一点,优化之后速度杠杠的,如有问题请加群联系我

nsq nsqlookupd中的go-svc包

golang 77浏览 0评论

nsqlookupd使用go-svc包来启动的
github地址:https://github.com/judwhite/go-svc
这个包我看到了类似于守护进程的方式运行程序,下面是一个demo,go-svc也是使用了这个方法

package main

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

func main() {
    c := make(chan os.Signal, 1)
    sig := []os.Signal{syscall.SIGINT, syscall.SIGTERM}
    fmt.Println("start")
    signal.Notify(c, sig...)
    fmt.Println("processA")

    //程序会阻塞在这里, 等待系统信号量
    s := <-c
    fmt.Println("processB")
    fmt.Println("Got signal:", s)
}

运行的结果,如图

demo运行中

如果程序结束输出

processB
Got signal: interrupt
QQ交流群:136351212(满) 455721967

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» nsq nsqlookupd中的go-svc包
本文链接地址:https://www.phpsong.com/3296.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!