企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在1.8.11及之后版本支持重新打开日志:向Server主进程发送SIGRTMIN信号。假设主进程id是3427,那么我们可以: ``` kill -34 3427 ``` > 注:SIGRTMIN信号的id是`34`。通过`kill -l`查看。 那么如何利用这个特征实现每天自动写入新的日志文件里面呢? 假设日志文件是`/log/swoole.log`,我们可以在每天0点运行shell命令: ``` mv /log/swoole.log /log/$(date -d '-1 day' +%y-%m-%d).log kill -34 $(ps aux|grep swoole_task|grep swoole_task_matser|grep -v grep|awk '{print $2}') # 找到主进程,需要提前命名 ``` 我们也可以[把master进程的PID写入到文件](https://wiki.swoole.com/wiki/page/p-pid_file.html): ``` php $server->set(array( 'pid_file' => __DIR__.'/server.pid', )); ``` 在Server关闭时自动删除PID文件。此选项在1.9.5或更高版本可用。