多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# daemonize 守护进程化。设置`daemonize => 1`时,程序将转入后台作为守护进程运行。长时间运行的服务器端程序必须启用此项。 如果不启用守护进程,当ssh终端退出后,程序将被终止运行。 * 启用守护进程后,标准输入和输出会被重定向到 `log_file` * 如果未设置`log_file`,将重定向到 `/dev/null`,所有打印屏幕的信息都会被丢弃 * 启用守护进程后,`CWD`(当前目录)环境变量的值会发生变更,相对路径的文件读写会出错。PHP程序中必须使用绝对路径 systemd ---- 使用`systemd`管理`Swoole`服务时,请勿设置`daemonize = 1`。主要原因是`systemd`的机制与`init`不同。`init`进程的`PID`为`1`,程序使用`daemonize`后,会脱离终端,最终被`init`进程托管,与`init`关系变为父子进程关系。 但`systemd`是启动了一个单独的后台进程,自行`fork`管理其他服务进程,因此不需要`daemonize`,反而使用了`daemonize = 1`会使得`Swoole`程序与该管理进程失去父子进程关系。