我有一个需要任意时间关闭的进程,在2秒到几分钟之间.重要的是这个过程优雅地退出(而不是杀死).我使用supervisord和ubuntu服务器来运行它.
当服务器获得ACPI关闭信号(来自VPS提供程序的重启命令,这就是我假设的EC2)时,supervisord(以及整个系统)是否会等待所有子进程在关闭序列期间退出?
解决方法
您应该查看以下配置选项:
stopsignal指定将哪个信号发送到您的程序,以告诉它优雅地停止
stopwaitsecs指定在放弃并发送SIGKILL之前,supervisord应该等待进程正常停止的时间.
http://supervisord.org/configuration.html#program-x-section-settings