EC2 Amazon Web Services 上的 Linux 实例上的“nohup”问题

EC2 Amazon Web Services 上的 Linux 实例上的“nohup”问题

我正在 Amazon Web Services EC2 上开发 Ubuntu 系统。我已经创建了一个实例,需要在系统上运行 node.js 服务器。一旦我 ssh 进入我的工作目录并使用以下命令,

:~/Test1$ node server.js

服务器工作正常。代码运行没有任何问题

现在,我想要的是即使在终端关闭时也运行 server.js 代码,作为后台进程。为此,我使用nohup命令&

:~/Test1$ nohup node server.js &

这也使 server.js 启动,但该nohup命令似乎不起作用,因为当我关闭终端时 server.js 停止工作。我sudo也用命令尝试了代码

:~/Test1$ nohup sudo node server.js &

但它什么也没做。

我究竟做错了什么?而且,我该如何让它发挥作用?谢谢。

答案1

我有完全相同的问题。我像你一样运行我的节点服务器:

nohup node server.js &

通过这种方式,进程在终端会话中运行,这就是终端会话保持打开状态时进程寿命更长的原因。

相反,尝试在单独的会话中运行该过程:

setsid nohup node serve.js &

按这种方式尝试,它对我有用。

相关内容