【发布时间】:2018-07-23 17:49:37
【问题描述】:
玩微软的botframework,当我尝试运行app.js文件时,它是bot的主文件,第一次很好,在我关闭bot模拟器和所有程序后,运行应用程序。再次运行js,弹出这个错误信息
events.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3978
at Object._errnoException (util.js:1022:11)
at _exceptionWithHostPort (util.js:1044:20)
at Server.setupListenHandle [as _listen2] (net.js:1351:14)
at listenInCluster (net.js:1392:12)
at Server.listen (net.js:1476:7)
at Server.listen (C:\Users\yu\Documents\GitHub\BotBuilder-
Samples\Node\cards-AdaptiveCards\node_modules\restify\lib\server.js:404:32)
at Object.<anonymous> (C:\Users\yu\Documents\GitHub\BotBuilder-
Samples\Node\cards-AdaptiveCards\app.js:10:8)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
我找到了一些解决方案,看起来我第二次运行js文件时占用了端口3978,我必须使用cmd找到哪个任务正在使用该端口,然后终止该任务。
C:\>netstat -aon|findstr 3978
所以这个正在占用端口,虽然我已经关闭了所有程序
TCP 0.0.0.0:3978 0.0.0.0:0 LISTENING 13140
TCP [::]:3978 [::]:0 LISTENING 13140
其实就是node.exe本身,还在后台运行
C:\Users\yu>tasklist|findstr 13140
node.exe 13140 Console 1 42,064 K
我要杀了它
C:\Users\yu>taskkill /f /t /im node.exe
当我想多次运行该文件时,有没有办法不总是重复这样做,它今天才开始连接,我的意思是对于所有不同的 app.js 文件,包括官方示例代码。过去一个月,一切正常,我使用的IDE是sublime text 3,node.js版本是8.9.4 lts
【问题讨论】:
-
第一次运行 app.js 的具体情况如何?如果您使用 sublime 构建和执行,您还可以使用它来杀死托管 app.js 的 node.exe 进程。
-
第一次运行app.js是电脑开机后运行,如何用sublime text杀死node.exe?
-
没关系,我只是写了一个bat文件来杀死node.exe,因为它总是占用3978端口,谢谢你的帮助
-
“我在计算机启动后运行它”——是的,但是你如何运行 app.js?从命令行(“node.exe app.js”),从 Sublime 中使用快捷方式?使用 .bat 文件杀死节点进程似乎很奇怪,而且应该没有必要。
-
好的,我现在明白原因了,我在sublime text中添加了一个javascript构建系统(从这里得到pawelgrzybek.com/javascript-console-in-sublime-text),所以我只需要按f7运行代码,懒得在 node.js 命令提示符下键入 node app.js,似乎这个问题只在我使用 sublime text 运行时出现
标签: node.js botframework sublimetext