supervisord如何在Docker容器内停止进程(陷阱终止信号)
当您向docker集装箱发送停止或终止命令(带有某些特定信号,例如HUP,TERM等)时,supervisord如何拦截该信号并将其发送给其子stream程?
如何在使用supervisord时优雅地阻止容器内的进程?
有两个属性可以在[program:x]
部分中指定: stopwaitsecs
和stopwaitsecs
。 但似乎没有办法指定一个自定义的关机/停止脚本(例如,tomcat_shuytdwon.sh或类似的东西)。 一些程序使用自定义关机过程来优雅地停止。
根据supervisord文档发送一个SIGTERM
, supervisord
进程及其所有的subprocess都被closures了。 所以它会自动将信号传递给subprocess。 所以一个简单的docker stop
应该是足够的。