Grunt task for starting and stopping an application as a daemon using forever with support for multiple applications.


forever task for grunt to start, stop and restart an application as a daemon.

This grunt task plugin has been updated to work with Grunt 0.4.0 release. The working version for Grunt 0.3.x has been tagged 0.2.2.

Install this grunt plugin next to your project's grunt.js gruntfile with: npm install grunt-forever

Then add this line to your project's grunt.js gruntfile:


Inside your grunt.js file add a section named forever. This section specifies the forever task and provides the main application filepath option that will be run. The main filepath defaults to index.js if not provided.

grunt-forever uses colon-separated arguments for the forever task described in the grunt API. Supported name arguments are:

  • forever:server:start
  • forever:server:stop
  • forever:server:restart

Attempts to start the main application file as a daemon if not currently running.

Attempts to stop the process started previously by forever.

Attempts to restart the process previously started. If not currently running, starts a new one.

The option specifies the main application file that will be run under a daemon using forever.

The command to execute, defaults to 'node'. Set this to 'coffee' to run coffeescript applications.

The directory log files are saved, defaults to 'forever'.

File stderr is logged into, defaults to 'err.log'.

File stdout is logged into, defaults to 'out.log'.

forever: {
  server1: {
    options: {
      index: 'index.js',
      logDir: 'logs'
  server2: {
    options: {
      index: 'otherindex.js',
      logDir: 'logs'
grunt forever:server1:start
grunt forever:server2:stop
grunt forever:server1:restart