该方式支持的系统有:
- systemd: Ubuntu >= 16, CentOS >= 7, Arch, Debian >= 7
- upstart: Ubuntu <= 14
- launchd: Darwin, MacOSx
- openrc: Gentoo Linux, Arch Linux
- rcd: FreeBSD
- systemv: Centos 6, Amazon Linux
pm2命令自带生成开机启动脚本的参数:
在命令行终端执行:
pm2 startup
如果是非root用户,这时候会提示如下信息:
[PM2] You have to run this command as root. Execute the following command:
sudo su -c "env PATH=$PATH:/home/unitech/.nvm/versions/node/v4.3/bin pm2 startup <distribution> -u <user> --hp <home-path>
这时候需要将给出的命令粘贴执行就可以了,不过不用sudo 只粘贴下面的就行:
su -c "env PATH=$PATH:/home/unitech/.nvm/versions/node/v4.3/bin pm2 startup <distribution> -u <user> --hp <home-path>
执行完之后,系统会自动在开机启动脚本目录生成启动脚本(centos6的该脚本位于:/etc/init.d/pm2-xxxx,centos7的该脚本位于/usr/lib/systemd/system/下)
你也可以使用参数--service-name <name>开机启动某个指定服务,
使用下面的命令保存当前pm2服务列表:
pm2 save
这会在$PM2_HOME/.pm2/dump.pm2文件中保存当前的pm2服务列表
通过命令: pm2 resurrect 可以从上面保存的服务文件中恢复pm2的服务。
禁用掉开机启动脚本:
pm2 unstartup
更新启动脚本
先执行:
pm2 unstartup
再执行:
pm2 startup
这样就会更新pm2的开机启动脚本。
如果你想以其他普通用户来执行这个脚本,需要使用-u参数和–hp参数,
-u 参数指明你想要执行的用户
–hp参数指明你安装pm2的家目录
如:pm2 startup ubuntu -u www –hp /home/ubuntu
上一条命令指明了以www用户来执行,pm2的运行文件放在了/home/ubuntu下面