Skip to content


Windows compatibility #352

merged 1 commit into from

5 participants


On Windows there is no process.env.HOME, Windows defines USERPROFILE instead.

Unfortunately there is a bigger problem on Windows. See my comment on #337


I logged an issue relating to windows support and was wondering if you would weigh in on that.
I tried using your solution but it didn't resolve my issue.

Basically, whenever I start a node server with forever on windows, I am unable to get the list of running processes, and therefore, I cant administer them. I have to kill the process in order to stop a forever process.

any suggestions or input would be greatly appreciated.



My change does not fix the windows issue. It is only a partial fix for the path problem. The bigger issue is that forever uses unix socket files which are not available on windows. On windows you have to use named pipes instead.

More info here:

I have not had the time to fix this.

@indexzero indexzero merged commit dc1c3f9 into foreverjs:master

1 check passed

Details default The Travis build passed

+1 There doesn't seem to be a lot of progress on the general windows compatibility issues. Any chance this will be addressed in the near future?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Nov 13, 2012
  1. @ingmr
This page is out of date. Refresh to see the latest.
Showing with 1 addition and 1 deletion.
  1. +1 −1 lib/forever.js
2 lib/forever.js
@@ -40,7 +40,7 @@ forever.log.cli();
forever.initialized = false;
forever.kill = require('forever-monitor').kill;
forever.checkProcess = require('forever-monitor').checkProcess;
-forever.root = path.join(process.env.HOME || '/root', '.forever');
+forever.root = path.join(process.env.HOME || process.env.USERPROFILE || '/root', '.forever');
forever.config = new nconf.File({ file: path.join(forever.root, 'config.json') });
forever.Forever = forever.Monitor = require('forever-monitor').Monitor;
forever.Worker = require('./forever/worker').Worker;
Something went wrong with that request. Please try again.