大家有没有遇到过使用supervisord守护golang server,手动kill掉supervisord导致go server异常退出的问题?

604109134 · 2017-10-10 03:47:37 · 2560 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-10-10 03:47:37 的主题,其中的信息可能已经有所发展或是发生改变。

我是用supervisord守护go server ,当我主动kill掉supervisord进程时,go server也随着退出了,并且捕获不到任何的异常信息,初步定位到是go的accept函数那里导致的,有大神遇到过类似的情况么?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2560 次点击  
加入收藏 微博
5 回复  |  直到 2017-10-11 00:49:04
channel
channel · #1 · 7年之前

这个跟 go 应该没关系吧。supervisord 守护,go server 就是它的子进程了,父进程被kill,导致子进程退出吧?

604109134
604109134 · #2 · 7年之前
channelchannel #1 回复

这个跟 go 应该没关系吧。supervisord 守护,go server 就是它的子进程了,父进程被kill,导致子进程退出吧?

我觉得也是,但是守护的其他程序也做这种操作是不会退出的,并且初步定位到的位置是accept函数那里导致的,如果这个时候没有client连接过来,server不会退出,一旦有Client连接过来的时候,就立马退出了,很奇怪

channel
channel · #3 · 7年之前

这么奇怪,具体有错误信息吗?

604109134
604109134 · #4 · 7年之前

@channel 没什么错误信息的,accept函数按道理来说是可以返回error的,但是没有错误信息打印出来,直接退掉了,尝试测试写了个简单的server和client也会出现这样的问题。

marlonche
marlonche · #5 · 7年之前

正常退出一定有程序里面的打印,非正常退出一定在stderr里面有相关错误信息

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传