退出SSH后如何维护命令?
How to maintain command after exiting SSH?
我在共享主机 (cPanel) 上使用 PuTTy 运行 node.js 服务器。我的问题是即使在我完全关闭 PuTTy 后是否有可能保持命令?我的问题是,当我例如键入 'nohup node server.js &' 并且我的服务器 运行 成功时,当我关闭 PuTTy 时,我的节点服务器再次关闭。如果有一种方法可以让我的节点服务器 运行ning 即使在完全退出 PuTTy 甚至关闭我的计算机后也能持续运行,我会很高兴。
我试过以下方法:
- nohup(如上所示),但是在我关闭 PuTTy 后它不会保持连接。
- forever.js 然而仍然是与 nohup 相同的问题。
感谢我能得到的所有帮助。
编辑: 澄清一下,我的问题不是我希望进程在后台 运行。我的问题是是否可以 运行 即使在我的计算机关闭时也可以执行该过程。看起来很奇怪,我必须让我的电脑保持开机状态才能让服务器进程继续,即使我正在使用主机。
有多种方法可以让 运行ning 命令在后台运行,即使您关闭了 putty 终端。
很简单,在命令末尾加上“&”,如下所示
节点server.js &
第二种方法是使用pm2。这是 运行 NodeJS 服务器的非常有效的方法。它不仅在关闭终端后保持会话,而且如果您的操作系统重新启动,它会自动再次启动服务器,无需用户与 运行 命令交互。
您可以通过以下命令安装pm2
npm 安装 pm2 -g
然后以
启动节点服务器
pm2 开始server.js
如果这对您有用,请更新。
如果服务器上可用,您可以使用 screen。
可能您正在寻找 nohup
或 disown
如果需要 运行 关闭终端后不会终止的进程:
$ nohup your command &
$ exit
或使用disown
:
$ your command &
$ disown
$ exit
如果您有多个命令:
$ sleep 3600 &
$ sleep 86400 &
通过输入职位,会出现如下内容:
[1] - running sleep 3600
[2] + running sleep 86400
要否认我们只说工作 2:
$ disown %2
如果您的进程已经 运行ning,您可以暂停它 ctrl+z
,将出现如下内容:
$ sleep 3600
^Z
zsh: suspended sleep 3600
然后输入 bg 将其置于后台:
$ bg
[1] + continued sleep 3600
之后你可以否认并退出:
$ disown
$ exit
发现问题出在 cPanel 上,因为它不支持 node.js。我搬到了 DigitalOcean,它在那里工作得非常好。
我在共享主机 (cPanel) 上使用 PuTTy 运行 node.js 服务器。我的问题是即使在我完全关闭 PuTTy 后是否有可能保持命令?我的问题是,当我例如键入 'nohup node server.js &' 并且我的服务器 运行 成功时,当我关闭 PuTTy 时,我的节点服务器再次关闭。如果有一种方法可以让我的节点服务器 运行ning 即使在完全退出 PuTTy 甚至关闭我的计算机后也能持续运行,我会很高兴。
我试过以下方法:
- nohup(如上所示),但是在我关闭 PuTTy 后它不会保持连接。
- forever.js 然而仍然是与 nohup 相同的问题。
感谢我能得到的所有帮助。
编辑: 澄清一下,我的问题不是我希望进程在后台 运行。我的问题是是否可以 运行 即使在我的计算机关闭时也可以执行该过程。看起来很奇怪,我必须让我的电脑保持开机状态才能让服务器进程继续,即使我正在使用主机。
有多种方法可以让 运行ning 命令在后台运行,即使您关闭了 putty 终端。
很简单,在命令末尾加上“&”,如下所示
节点server.js &
第二种方法是使用pm2。这是 运行 NodeJS 服务器的非常有效的方法。它不仅在关闭终端后保持会话,而且如果您的操作系统重新启动,它会自动再次启动服务器,无需用户与 运行 命令交互。
您可以通过以下命令安装pm2
npm 安装 pm2 -g
然后以
启动节点服务器pm2 开始server.js
如果这对您有用,请更新。
如果服务器上可用,您可以使用 screen。
可能您正在寻找 nohup
或 disown
如果需要 运行 关闭终端后不会终止的进程:
$ nohup your command &
$ exit
或使用disown
:
$ your command &
$ disown
$ exit
如果您有多个命令:
$ sleep 3600 &
$ sleep 86400 &
通过输入职位,会出现如下内容:
[1] - running sleep 3600
[2] + running sleep 86400
要否认我们只说工作 2:
$ disown %2
如果您的进程已经 运行ning,您可以暂停它 ctrl+z
,将出现如下内容:
$ sleep 3600
^Z
zsh: suspended sleep 3600
然后输入 bg 将其置于后台:
$ bg
[1] + continued sleep 3600
之后你可以否认并退出:
$ disown
$ exit
发现问题出在 cPanel 上,因为它不支持 node.js。我搬到了 DigitalOcean,它在那里工作得非常好。