Skip to content

Restarting a Node process without file changes

New Course Coming Soon:

Get Really Good at Git

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

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!
→ Get my Node.js Handbook
→ Read my Node.js Tutorial on The Valley of Code

Here is how can I help you: