最简单的办法:
$ nohup node app.js &
nohup 和 & 后台运行, 进程查看及终止
1.nohup 用途: 不挂断地运行命令
语法: nohup Command [Arg] [& ]
无论是否将 nohup 命令的输出重定向到终端, 输出都将附加到当前目录的 nohup.out 文件中
如果当前目录的 nohup.out 文件不可写, 输出重定向到 $HOME/nohup.out 文件中
如果没有文件能创建或打开以用于追加, 那么 Command 参数指定的命令不可调用
2.& 用途: 在后台运行
一般两个一起用
nohup command &
查看运行的后台进程
(1)jobs -l
jobs 命令只看当前终端生效的, 关闭终端后, 在另一个终端 jobs 已经无法看到后台跑得程序了, 此时利用 ps(进程查看命令)
(2)ps -ef ps -aux|grep chat.js
a: 显示所有程序
u: 以用户为主的格式来显示
x: 显示所有程序, 不以终端机来区分
用 ps -def | grep 查找进程很方便, 最后一行总是会 grep 自己
3. 如果某个进程起不来, 可能是某个端口被占用
查看使用某端口的进程 lsof -i:8090 netstat -ap|grep 8090
查看到进程 id 之后, 使用 netstat 命令查看其占用的端口
netstat -nap|grep 7779
4. 终止后台运行的进程
kill -9 进程号
但是, forever 能做更多的事情, 比如分别记录输出和错误日志, 比如可以在 js 中作为 api 使用
- $ sudo npm install forever -g #安装
- $ forever start app.js #启动
- $ forever stop app.js #关闭
- $ forever start -l forever.log -o out.log -e err.log app.js #输出日志和错误
来源: http://www.bubuko.com/infodetail-2497487.html