美文网首页
容器退出的时候没有收到kill 信号

容器退出的时候没有收到kill 信号

作者: Shaman | 来源:发表于2019-07-15 18:05 被阅读0次

解决node 程序退出时候没有注销Eureka 的问题

现象:

升级服务或者缩容服务的时候,容器关闭的同时未在Eureka 上注销, 会导致出现大量错误请求。

原因:

容器退出的时候进程号为 1 的进程会收到 stop 的信号,从而程序自己可以实现优雅的退出,完成一系列收尾工作,在这里优雅的退出包含了从Eureka 中注销掉当前实例。

如果用Dockerfile 里面 写的是 CMD [“npm”, "start"] 则node 进程无法接受到这个信号

解决办法:

改为 CMD [“node”, "app.js"]

或者

参考 即刻技术团队 - 实现真正优雅的容器应用

相关文章

  • 容器退出的时候没有收到kill 信号

    解决node 程序退出时候没有注销Eureka 的问题 现象: 升级服务或者缩容服务的时候,容器关闭的同时未在Eu...

  • docker 正确退出容器的方式

    docker自身给我提供了两种退出容器的方式: docker kill命令执行时会直接发出SIGKILL的系统信号...

  • 父进程退出时如何确保子进程退出

    前言 子进程退出的时候,父进程能够收到子进程退出的信号,便于管理,但是有时候又需要在父进程退出的时候,子进程也退出...

  • kill命令

    语法: kill -SIGNAL pid SIGNAL是信号,kill -l可以查看支持的信号 常用信号: 1) ...

  • linux进程查杀

    kill -[信号] PID kill -1 123 (平滑重启123进程) killall [选项][信号] ...

  • shutdownHook死锁问题解决

    最近碰到一个问题,通过脚本执行kill -15后,程序并没有退出,进程一直都在,最后被退出脚本的通过kill -9...

  • Docker中优雅的捕获kill信号

    通过以下命令可以直接传递一个kill信号运行的容器: 但是对于一些情况,比如一个python服务,这个信号并不能被...

  • linux命令后台执行

    nohup & kill -l 查看系统支持的信号kill -l 1 编号1表示信号SIGHU...

  • Linux信号发送命令之kill命令

    kill 作用:向进程发送信号。 注意: kill命令只是用来向进程发送信号的,而不是直接杀死进程。 kill命令...

  • kill -9 和kill -15的区别

    kill -9 和kill -15的区别 kill命令可以向特定的进程发送指定的信号值。不同的信号值所代表的行为不...

网友评论

      本文标题:容器退出的时候没有收到kill 信号

      本文链接:https://www.haomeiwen.com/subject/mdrokctx.html