我创建了一个不和谐的bot,现在正尝试在Ubuntu机器上运行它。
我安装了bot和NodeJ的文件夹,这是我用来安装NodeJS的文件夹:
sudo apt-get install -y nodejs
然后我使用cd
选择目录,然后使用node index.js
机器人启动了,但是当我关闭油灰并使其在VPS上运行时,机器人关闭了。这是目录的样子。
答案 0 :(得分:1)
我认为问题在于,当您在腻子窗口中启动该应用程序时,该过程将链接到该窗口,并在关闭该窗口时终止。
为避免这种情况,您可以使用主机服务,例如screen
,tmux
,nohup
,bg
等...
如果您想知道哪个最好,请尝试从askUbuntu Stack Exchange查看this question。
关键概念是您使用tmux
命令(或screen
,...)打开一个新窗口,然后像往常一样运行您的机器人。当您想离开但保持流程运行时,可以使用一个键组合来分离会话,该键组合因服务而异。
如果您想再次访问该窗口,则可以运行将“恢复”会话的命令,例如
tmux list-sessions
tmux attach-session -t 0
答案 1 :(得分:0)
关闭腻子时,NodeJS实例终止。您需要一些东西来使实例保持活动状态。试试:
或
永远:https://github.com/foreverjs/forever#readme
但是建议将节点实例作为可以在启动时重新引导的服务来运行。试试看这个: https://stackoverflow.com/a/29042953/7739392
答案 2 :(得分:0)
shell在前台运行。这意味着您在会话中开始的所有脚本都将在结束会话后结束。一个简单的解决方案是在调用后添加&来在后台运行脚本:
node index.js &
更好的解决方案是创建一个服务,您可以要求服务守护程序为您运行。但是,添加&可以使您立即获得所需的东西。
答案 3 :(得分:0)