守护进程化。设置daemonize => 1
时,程序将转入后台作为守护进程运行。长时间运行的服务器端程序必须启用此项。
如果不启用守护进程,当ssh终端退出后,程序将被终止运行。
log_file
log_file
,将重定向到 /dev/null
,所有打印屏幕的信息都会被丢弃CWD
(当前目录)环境变量的值会发生变更,相对路径的文件读写会出错。PHP程序中必须使用绝对路径使用systemd
管理Swoole
服务时,请勿设置daemonize = 1
。主要原因是systemd
的机制与init
不同。init
进程的PID
为1
,程序使用daemonize
后,会脱离终端,最终被init
进程托管,与init
关系变为父子进程关系。
但systemd
是启动了一个单独的后台进程,自行fork
管理其他服务进程,因此不需要daemonize
,反而使用了daemonize = 1
会使得Swoole
程序与该管理进程失去父子进程关系。