linux 系统重启 pm2 实例都被清除了,怎么让系统重启 pm2 的实例列表自动启动
您可以使用pm2的startup命令将pm2添加到系统启动项中,以便在系统重启时自动启动pm2实例列表。
以下是在Linux上使用pm2的startup命令的步骤:
打开终端并切换到您的项目目录。
运行以下命令安装pm2的startup模块:
sudo npm install pm2 -g
sudo pm2 startup
运行以上命令后,您将看到一条消息,告诉您如何激活pm2。请按照该消息中的指示运行命令。
如果您需要保存当前pm2实例列表,请运行以下命令:
sudo pm2 save
现在,当您重新启动系统时,pm2将自动启动并加载之前保存的实例列表。
希望这可以帮助您解决问题。
如果有些实例stop了,在系统重启时 会自动启动吗?
如果某些实例在系统重启时处于停止状态,它们不会自动启动。为了使这些实例在系统重启后自动启动,您需要将它们添加到pm2的startup列表中。可以使用以下命令将当前pm2实例列表保存到startup列表中:
sudo pm2 startup
sudo pm2 save
以上命令将创建一个启动脚本并将其复制到系统启动目录中,并将当前pm2实例列表保存到该脚本中。这样,在系统重启后,pm2将自动加载此脚本并重新启动所有已注册的实例。
请注意,如果您手动停止了一些实例,它们将不会自动启动。如果您希望这些实例在系统重启后自动启动,请将它们添加到pm2的startup列表中,或者手动启动它们。
pm2 stop 命令停止的实例 在pm2 startup 列表 是不会自动启动是吗?
是的,如果您使用pm2 stop
手动停止了某些实例,则它们不会自动启动,即使将PM2添加到系统启动项中也无效。在这种情况下,您需要手动启动它们或将它们添加到PM2 startup列表中。
要将已停止的实例添加到PM2 startup列表中,请运行以下命令:
pm2 save
此命令将当前的PM2进程列表保存到启动脚本中,并确保在系统重启后自动启动这些进程。请注意,该命令需要以管理员权限运行,因此您可能需要在命令前加上sudo
。
如果您只想将特定的PM2进程添加到startup列表中,可以运行以下命令:
pm2 startup systemd -u user --hp /home/user
pm2 save
在上面的命令中:
-u
选项指定应该用哪个用户来运行进程。--hp
选项指定用户主目录路径。请注意,在上述命令中,您需要将"user"替换为您要使用的用户名,并将"/home/user"替换为该用户的主目录路径。此外,您还需要将相应的PM2进程ID添加到startup列表中:
pm2 start app.js --name "my-app"
pm2 save
在上面的命令中,我们将名为“my-app”的进程添加到startup列表中。您可以根据需要调整该命令。
希望这可以帮助您!