Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. supervisor

supervisor

NOASSERTIONJavaScriptv0.8.0

A supervisor script for Node.js that restarts programs when they crash or when JavaScript files change.

GitHubGitHub
3.7k stars258 forks0 contributors

What is supervisor?

node-supervisor is a command-line tool for Node.js that supervises and automatically restarts your application when it crashes or when source code files change. It solves the problem of manually restarting Node.js servers during development and ensures applications remain running in production despite unexpected failures.

Target Audience

Node.js developers who need a simple, reliable way to keep their applications running continuously, especially during development with frequent code changes or in production environments where uptime is critical.

Value Proposition

Developers choose node-supervisor for its minimal setup, no required code changes, and flexibility in monitoring files and managing restarts, making it a lightweight alternative to more complex process managers.

Overview

node-supervisor is a lightweight process supervisor for Node.js applications. It monitors your program and automatically restarts it if it crashes, and can also restart it when changes to JavaScript files are detected, enabling hot-code reloading behavior without requiring a complex module system overhaul.

Key Features

  • Automatic Restart on Crash — Restarts the supervised program if it exits unexpectedly, ensuring continuous operation.
  • File Change Detection — Watches specified directories and files for changes, triggering restarts to apply code updates.
  • Configurable Watch/Ignore — Allows customizing which folders and file extensions to monitor or ignore.
  • Flexible Execution — Supports running programs with different executables (e.g., Node, CoffeeScript) and debugging flags.
  • Interactive Control — Provides commands like rs to manually restart the process without file changes.

Philosophy

node-supervisor focuses on simplicity and reliability, offering a straightforward way to manage Node.js processes without introducing complex dependencies or requiring changes to your application's architecture.

Use Cases

Best For

  • Automatically restarting Node.js servers after code changes during development
  • Ensuring Node.js applications stay running after crashes in production
  • Implementing hot-reload functionality without modifying application code
  • Monitoring specific directories for changes in large projects
  • Debugging Node.js applications with automatic restarts on file saves
  • Running Node.js scripts that need continuous execution with crash recovery

Not Ideal For

  • Projects requiring advanced process management features like clustering, load balancing, or monitoring dashboards
  • Development teams using modern frameworks with built-in hot-reload (e.g., Next.js, NestJS dev servers)
  • Production environments needing zero-downtime deployments or graceful shutdown handling beyond simple restarts
  • Applications with complex state management that could be disrupted by sudden, ungraceful restarts

Pros & Cons

Pros

Automatic Crash Recovery

Immediately restarts the application if it crashes, ensuring continuous operation without manual intervention, as highlighted in the 'Automatic Restart on Crash' feature.

Development Hot-Reload

Watches for file changes and restarts the app, enabling seamless code updates during development without modifying application code, per the 'File Change Detection' capability.

Zero Configuration Overhead

Requires no changes to your Node.js application architecture, making it easy to integrate into existing projects, as stated in the philosophy of simplicity.

Flexible Execution Options

Supports running programs with different executables like Node or CoffeeScript and includes debugging flags, offering versatility for various development needs, as shown in the -x and --debug options.

Cons

Limited Production Features

Lacks advanced production-ready features such as logging aggregation, process clustering, or health checks, which are essential for large-scale deployments compared to tools like PM2.

File Watching Overhead

Can cause high CPU load on systems with many watched files, especially on Windows, as indicated by the --force-watch option intended to mitigate this performance issue.

No Built-in Monitoring

Does not provide detailed metrics or dashboards for monitoring application performance or restart history, relying solely on basic command-line output for feedback.

Frequently Asked Questions

Quick Stats

Stars3,730
Forks258
Contributors0
Open Issues48
Last commit6 years ago
CreatedSince 2010

Tags

#cli-tool#process-supervisor#nodejs#development-tools#file-watcher#hot-reload#debugging

Built With

N
Node.js

Included in

Node.js65.5k
Auto-fetched 1 day ago

Related Projects

PM2PM2

Node.js Production Process Manager with a built-in Load Balancer.

Stars43,201
Forks2,714
Last commit18 days ago
nodemonnodemon

Monitor for any changes in your node.js application and automatically restart the server - perfect for development

Stars26,681
Forks1,740
Last commit3 days ago
Phusion PassengerPhusion Passenger

A fast and robust web server and application server for Ruby, Python and Node.js

Stars5,080
Forks560
Last commit5 days ago
node-windowsnode-windows

Windows support for Node.JS scripts (daemons, eventlog, UAC, etc).

Stars2,931
Forks367
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub