Restarting a Node process without file changes
I had the need to run a Node project and if that failed for some reason, run it again.
I had the idea of using nodemon, which is the way to restart a node process when a file changes.
I was thinking it did the same if the process crashed but it’s not how it works.
So I found this solution.
If the process crashes, I use the command line to run the touch
command on the main app file, so nodemon detects a change in the file and restarts the process:
nodemon -x 'node app.js || touch app.js'
Simple, works.
Of course in a real environment you’d use a robust solution like pm2 (see my tutorial how to use pm2 to serve a Node.js app) but this is something I need to run for a couple hours on my local machine and it works.
Update: an alernative is using Forever https://www.npmjs.com/package/forever
I wrote 21 books to help you become a better developer:
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- Svelte Handbook
- CSS Handbook
- Node.js Handbook
- Vue Handbook