pm2 startup
输出
Init System found: systemd
Platform systemd
Template
[Unit]
Description=PM2 process manager
Documentation=https://pm2.keymetrics.io/
After=network.target
[Service]
Type=forking
User=root
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Environment=PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/volume1/@appstore/Node.js_v18/usr/local/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Environment=PM2_HOME=/root/.pm2
PIDFile=/root/.pm2/pm2.pid
Restart=on-failure
ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect
ExecReload=/usr/local/lib/node_modules/pm2/bin/pm2 reload all
ExecStop=/usr/local/lib/node_modules/pm2/bin/pm2 kill
[Install]
WantedBy=multi-user.target
Target path
/etc/systemd/system/pm2-root.service
Command list
[ 'systemctl enable pm2-root' ]
[PM2] Writing init configuration in /etc/systemd/system/pm2-root.service
[PM2] Making script booting at startup...
[PM2] [-] Executing: systemctl enable pm2-root...
Created symlink from /etc/systemd/system/multi-user.target.wants/pm2-root.service to /etc/systemd/system/pm2-root.service.
[PM2] [v] Command successfully executed.
+---------------------------------------+
[PM2] Freeze a process list on reboot via:
$ pm2 save
[PM2] Remove init script via:
$ pm2 unstartup systemd
PM2 初始化系统检测到你的系统正在运行 systemd,因此生成了一个相应的模板。模板包括 Description
、After
、Service
和 Install
等部分,分别描述了 PM2 进程管理器的说明、依赖关系、服务运行配置和安装方式。
具体来说,Service
部分包括以下配置:
Type=forking
表示服务的类型为 fork,即在启动服务时会新创建一个子进程。User=root
表示服务的运行用户为 root 用户。LimitNOFILE
、LimitNPROC
和LimitCORE
分别表示服务的文件打开数、进程数和内核转储大小限制。这些限制可以提高系统安全性和稳定性。Environment
表示服务的环境变量,包括 PATH 和 PM2_HOME 等。PIDFile
表示服务的 PID 文件路径。Restart=on-failure
表示在服务失败时自动重启服务。
ExecStart
、ExecReload
和 ExecStop
分别表示服务的启动、重载和停止命令。这些命令会通过 /usr/local/lib/node_modules/pm2/bin/pm2
命令执行 PM2 进程管理器。
最后,Install
部分包括了安装方式,其中 WantedBy=multi-user.target
表示服务的启动级别为多用户级别。
PM2 会将该模板写入 /etc/systemd/system/pm2-root.service
文件中,并将服务添加到 systemd 的启动配置中。此后,你可以通过 systemctl enable pm2-root
命令将 PM2 添加到启动项中,并通过 pm2 save
命令保存进程列表。