logo

守护进程

概述

守护进程由 Supervisor 提供支持,用于保持长时间运行的脚本处于活动状态。例如,您可以启动一个守护进程来保持 ReactPHP 应用程序运行。如果进程停止执行,Supervisor 将自动重启进程。

配置守护进程

创建新的守护进程时,您需要向 Forge 提供以下信息

命令:守护进程应该运行的命令。例如:php artisan websockets:serve

用户:用于调用命令的操作系统用户。默认情况下,将使用 forge 用户。

目录:在其中运行命令的目录。可以留空。

进程:此选项确定应保持运行的进程实例数量。

启动秒数:程序必须保持运行的总秒数,以使启动被认为成功。

停止秒数:Supervisor 在强制终止之前允许守护进程优雅停止的秒数。

停止信号:在请求停止时用于杀死程序的信号。

手动重启守护进程

您可以使用 sudo -S supervisorctl restart daemon-{id}:* 手动重启守护进程,其中 {id} 是守护进程的 ID。例如,如果守护进程的 ID 是 65654,您可以通过运行 sudo -S supervisorctl restart daemon-65654:* 来重启它。

您也可以在应用程序的部署脚本中运行此命令,以便在部署期间重启守护进程。

日志文件

Forge 自动配置您的守护进程以写入其自己的日志文件。日志位于 /home/forge/.forge/ 目录中。日志文件名为 daemon-*.log

用户隔离

如果您使用的是 Forge 的用户隔离功能,您应该根据进程所属用户的 /home/{username} 目录中的 .forge 目录进行导航,以找到守护进程的日志文件。

圈子权限

您可以通过授予server:create-daemonsserver:delete-daemons 权限,来授权圈子成员创建和管理守护进程。