- nohup永久启动js(个人感觉没有pm2好用)
参考文档
nohup node server.js &
- nohup
加在一个命令的最前面,表示不挂断的运行命令 - &
加载一个命令的最后面,表示这个命令放在后台执行
- 查看后台运行的命令
有两个命令可以来查看,ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务,换了终端就看不见了。而ps命令适用于查看瞬时进程的动态,可以看到别的终端的任务。
jobs
ps -aux|grep java(服务名) ps -aux|grep node
top 查看所有应用使用资源的情况
只有在当前命令行中使用 nohup和& 时,jobs命令才能将它显示出来。如果将他们写到 .sh 脚本中,然后执行脚本,是显示不出来的
- pm2运行的项目的日志位置
cd /root/.pm2/logs
- 清理文件内容
// 使用truncate命令来清空文件,原理是将一个文件缩小指定大小
truncate -s 0 文件名
pm2安装
npm install pm2 -g
pm2命令:
// 启动进程/应用
pm2 start bin/www
// 重命名进程/应用
pm2 start app.js --name wb123、
// 添加进程/应用
pm2 start bin/www
// 结束进程/应用
pm2 stop www
// 结束所有进程/应用
pm2 stop all
// 删除进程/应用 pm2
pm2 delete www
// 删除所有进程/应用
pm2 delete all
// 列出所有进程/应用
pm2 list
// 查看某个进程/应用具体情况
pm2 describe www
// 查看进程/应用的资源消耗情况
pm2 monit
// 查看pm2的日志
pm2 logs 序号/名称
// 若要查看某个进程/应用的日志,使用
pm2 logs www
// 重新启动进程/应用
pm2 restart www
// 重新启动所有进程/应用
pm2 restart all
pm2 参数
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"
-n --name:应用的名称。查看应用信息的时候可以用到
-o --output <path>:标准输出日志文件的路径,有默认路径
-e --error <path>:错误输出日志文件的路径,有默认路径
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用