Node.js进程守护模块forever-forever使用及指定进程uid

 2015年10月07日    1427     声明


forever是个CLI(命令行界面)工具,用于保证Node脚本的持续运行,这在Node程序单进程执行时尤为适用。当Node程序异常停止后,forever会立即重启进程,从而保证程序的健壮性和稳定性。


1. 安装forever

为了在所有项目中都可以使用forever,需要使用-g参数全局安装。安装命令如下:

$ [sudo] npm install forever -g


2. forever的用法

forever是一个命令行工具,因此需要在控制台执行命令使用。但forever开发方提供了forever-monitor模块,通过这个模块你可以将forever集成到你的项目中。


2.1 forever start启动脚本

使用forever启动一个Node.js脚本:

forever start app.js


2.2 forever list查看已执行程序

forever list
info:    Forever processes running
data:        uid    command             script          forever pid    id logfile                   uptime           
data:    [0] FT5X   /usr/local/bin/node appBlog.js      1898    1902      /root/.forever/FT5X.log   118:13:50:58.983 
data:    [1] Cr8D   /usr/local/bin/node app.js          2288    17042     /root/.forever/Cr8D.log   0:19:9:5.419     
data:    [2] itbilu /usr/local/bin/node bin/itbilu      6893    13671     /root/.forever/itbilu.log 0:13:15:45.611 


2.3 forever进程的重启与停止

forever进程的重启与停止分别使用:forever restart SCRIPTforever stop SCRIPT命令,其中的SCRIPT参数可以是:Id|Uid|Pid|Index|Script。例如,通过进程Uid重启itbilu的进程:

forever restart itbilu


2.4 forever设置进程Uid

从上面的forever list的结果可以看出,索引为[2]的进程Uid为itbilu,通过Uid可以重启或停止对应的Node程,这在使用上比较方便。要设置进程Uid需要在进程启动时添加--uid,如下:

forever start --uid itbilu bin/www


更多forever用法,可以使用forever --help查看使用帮助,也可以在github上查看:forever