node.jsnohupforever

Error: EBADF, bad file descriptor when running node using nohup of forever


I have a problem with node.js running a small web server serving files from the file system. When starting it with node server.js it works like a charm but when starting it with nohup or forever node.js can't find the files.


Solution

  • It turned out to be the file path of the file that was the problem. When running the server using node the working directory is the same as the server.js file thus node.js manages to find the file.

    When starting whilst using nohup or just starting with forever the working directory doesn't seem to be the same as server.js.

    I solved this by prepending the global variable __dirname to the filename.