首页 > 解决方案 > 启动和停止简单 Node.js 脚本的正确方法是什么

问题描述

我正在尝试创建一个简单的 Twitter 机器人来学习一些 Node.js 技能。

它在我的本地计算机上运行良好。我用 Ctrl + C 启动脚本,node bot.js然后用 Ctrl + C 关闭它。

我已将文件上传到服务器(Krystal 托管)。我已经 ssh 进入服务器,然后使用$ source /home/[username]/nodevenv/twitterbot/10/bin/activate. 我认为这让我进入了 Node 环境(我不太清楚这里发生了什么)。

从这里我可以跑node bot.js。我的 Twitter 机器人运行良好,我可以离开终端。我现在意识到的是我不知道如何停止这个脚本。

有人可以解释我应该怎么做吗?我可以输入命令来停止原始bot.js进程吗?自从研究这个看起来我应该使用像 pm2 进程管理器这样的东西。这个对吗?

任何指针将不胜感激。

谢谢,乙

标签: node.js

解决方案


您可以通过从操作系统命令行或操作系统 GUI 中删除进程来从外部杀死它(具体过程因操作系统而异)。来自 shell 的 Ctrl-C 是其中的一个版本,但也可以通过直接对进程进行核对而无需启动它的命令 shell 来完成。

或者,您可以添加一个控制端口(一个运行在只能在本地访问的端口上的简单的小型 http 服务器),该端口接受允许您对服务器执行各种操作的命令,例如提取统计信息、关闭它、更改配置、告诉它可以清除缓存,以便内容更新立即生效,等等……以这种方式关闭服务器可以更有序地关闭服务器内的代码。您甚至可以停止接受传入的连接,但在关闭之前等待现有的 http 连接完成,正常关闭数据库等......

或者,您可以使用监控程序,例如 PM2 或永远,除了在服务器崩溃时自动重新启动服务器之外,它们还提供关闭它的命令(它只会向它发送某些信号,例如 Ctrl-C做)。


推荐阅读