当前位置: 首页 > 知识库问答 >
问题:

停止节点。来自命令行的js程序

长孙翔
2023-03-14

我有一个简单的TCP服务器,它监听一个端口。

var net = require("net");

var server = net.createServer(function(socket) {
    socket.end("Hello!\n");
});

server.listen(7777);

我从节点server.js开始,然后在Mac上用Ctrl Z关闭它。当我试图再次运行它与节点server.js我得到这个错误消息:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
          ^
Error: listen EADDRINUSE
at errnoException (net.js:670:11)
at Array.0 (net.js:771:26)
at EventEmitter._tickCallback (node.js:192:41)

我是否以错误的方式关闭程序?我怎样才能防止这种情况发生?

共有3个答案

谭修然
2023-03-14

或者,您可以在一行中完成所有这些操作:

kill -9 $(ps aux | grep '\snode\s' | awk '{print $2}')

您可以用任何其他进程名称替换\sode\s内的节点。

唐弘和
2023-03-14

CtrlZ挂起它,这意味着它仍然可以运行。

按住Ctrl键实际上会杀死它。

您也可以像这样手动杀死它:

ps aux | grep node

找到进程ID(左二):

kill -9 PROCESS_ID

这也可能奏效

killall node
秦斌
2023-03-14

要结束程序,应使用CtrlC。如果您这样做,它将发送SIGINT,这将允许程序优雅地结束,从它正在侦听的任何端口解除绑定。

另见:https://superuser.com/a/262948/48624

 类似资料:
  • 问题内容: 我有一个侦听端口的简单TCP服务器。 我先将其启动,然后在Mac上使用Ctrl + Z将其关闭。当我尝试再次运行它时,出现以下错误消息: 我是否以错误的方式关闭程序?如何防止这种情况发生? 问题答案: 要结束程序,您应该使用+ 。如果这样做,它会发送,从而允许程序正常结束,并与正在侦听的任何端口解除绑定。 另请参阅:https : //superuser.com/a/262948/48

  • 我无法在NodeJS应用程序中使用< code>exec运行Conda命令。 我收到以下错误: /bin/sh: /用户/用户名/桌面/存储库/项目/XYZ: 是一个目录 命令未发现错误:您的 shell 未正确配置为使用“conda 激活”。要初始化您的 shell,请运行 目前支持的shell有:-bash-fish-tcsh-xonsh-zsh-powershell 请参阅“conda in

  • 常用的命令行参数: --testnet: connect to MOAC testnet (networkid = 101); --rpc: initiate RPC service of HTTP, so as to nonlocally access the specific MOAC node service; --rpcaddr value: default as "localhost

  • 在调用Java run和C main方法之后,如何停止/取消一些FFmpeg的执行?

  • 我的情况是: 我正在运行一个node.js服务器 我用于启动服务器的命令是: 然而,在某些情况下,我们的代码进入了一个要求很高的函数,导致脚本工作非常缓慢或无响应。我们正在努力优化它。 在这种情况下,我会停止服务器,并在需要时启动一个新的服务器,比如说 但是如果我想重新启动最近停止的节点。js服务器(或者重新启动它而不是停止它)这样,我希望进程停止并再次以新的速度运行。 如果我再次启动它,或者重新

  • 您使用Express v4. x构建node.js应用程序,然后通过npm开始启动您的应用程序。我的问题是如何停止应用程序?有npm停止吗? 执行npm停止时编辑以包含错误