错误:EBADF,使用nohup永远运行节点时的错误文件描述符

jav*_*der 8 nohup node.js forever

我有一个问题,node.js运行一个小型Web服务器来提供文件系统中的文件.当它启动时,node server.js它就像一个魅力,但当用nohup启动它或永远node.js找不到文件.

for*_*een 8

这对我有用:

nohup node server.js </dev/null
Run Code Online (Sandbox Code Playgroud)


jav*_*der 2

事实证明是问题文件的文件路径。当使用node运行服务器时,工作目录与server.js文件相同,因此node.js设法找到该文件。

当使用 nohup 开始或刚刚开始时,工作目录似乎与 server.js 不同。

我通过将全局变量添加__dirname到文件名来解决这个问题。

  • 您能否在添加全局变量 __dirname 后分享完整的命令 (6认同)