本页面介绍了如何使用信号来优雅地关闭工作服务器进程。
当您使用Server.Run(Handler)
启动服务器处理时,它将阻塞并等待传入的信号。
有两种类型的信号可发送给正在运行的程序,以优雅地关闭进程。
- TSTP:此信号告诉Server停止处理新任务。
- TERM或INT:此信号告诉Server终止(即关闭)。
建议您首先发送TSTP信号以停止处理新任务,并等待所有正在进行中的任务完成后,再发送TERM信号**以终止程序。
使用 kill 命令发送信号。
kill -TSTP # 停止处理新任务
kill -TERM # 关闭服务器
注意:如果在发送TERM或INT信号时没有发送TSTP信号,Server将启动一个定时器,等待8秒钟,以便所有工作人员完成(要自定义此超时持续时间,请使用ShutdownTime配置)。如果在该时间范围内有工作人员未完成,则任务将被转换回待处理状态,并在程序重新启动后再处理。
注意:目前,Windows不支持TSTP信号。