我需要运行一个巨大的进程,将运行像10+分钟。我最大化了max_execution_time
,但在我的错误日志中,我得到一个SIGTERM,然后是一个SIGKILL。
我读了一些关于SIGTERM和SIGKILL的信息,它们来自守护进程,但是我不知道如何阻止它的发生。我只需要关闭一晚。
与其试图忽略这些信号,不如找出是谁发送了这些信号,以及为什么发送这些信号。如果你从命令行开始php,没有人会发送这个信号,你的脚本时间会一直有。
但是如果你真的开始这个过程作为一个http请求的响应,它可能是FastCGI管理器的web服务器限制了等待脚本完成的时间。它也可能只是杀死脚本,因为客户端连接(用户浏览器和http服务器之间)已经终止。
所以你应该问自己一个重要的问题——这个信号的来源是什么,以及如何增加这个超时。