英文:
Appium Question. If "listen eaddrinuse: address already in use", how to stop it? why it didn't stop?
问题
我之前已经使用默认的0.0.0.0:4723地址和端口启动了Appium,但后来我遇到了这个错误:
C:\User\me>appium
[Appium] 欢迎使用 Appium v1.17.0
[HTTP] 无法启动 REST http 接口监听器。所请求的端口可能已经在使用中。请确保没有其他此服务器的实例正在运行。
致命错误:listen EADDRINUSE: 地址已在使用中 0.0.0.0:4723
at Server.setupListenHandle [as _listen2] (net.js:1309:16)
at listenInCluster (net.js:1357:12)
at doListen (net.js:1496:7)
at processTicksAndRejections (internal/process/task_queues.js:85:21)
我发现我可以通过以下方式更改端口:
appium -p 4724
我还发现,如果存在任何连接到0.0.0.0:4723的情况,无论是在Appium桌面应用程序上还是在第二个命令提示符上,我都可以关闭连接。我关闭了Appium桌面应用程序,我停止并关闭了任何其他命令提示符,但我仍然收到相同的致命错误:listen EADDRINUSE: 地址已在使用中 0.0.0.0:4723。
那么我的问题是:如何停止这个已经在使用中的地址?为什么它没有停止?
我可以使用另一个端口来启动我的服务器,但是我不应该能够简单地停止对端口4723的连接并重新使用它吗?
英文:
I had been started Appium using default 0.0.0.0:4723 address and port, but then I got this error:
C:\User\me>appium
[Appium] Welcome to Appium v1.17.0
[HTTP] Could not start REST http interface listener. The requested port may already be in use. Please make sure there is no other instance of this server running already.
Fatal Error: listen EADDRINUSE: address already in use 0.0.0.0:4723
at Server.setupListenHandle [as _listen2] (net.js:1309:16)
at listenInCluster (net.js:1357:12)
at doListen (net.js:1496:7)
at processTicksAndRejections (internal/process/task_queues.js:85:21)
I found that I can change the port using:
appium -p 4724
I also found that I can close connection to 0.0.0.0:4723, if any, whether on the Appium desktop app or a second CMD. I closed Appium desktop app, I stopped and closed any other CMD, but I still got the same Fatal Error: listen EADDRINUSE: address already in use 0.0.0.0:4723
Then my questions: How to stop this already used address? and, Why it didn't stop?
I am ok with using another port to start my server, but shouldn't I be able to simply stop the connection to 4723 port and using it again?
答案1
得分: 4
以管理员身份打开CMD窗口,方法是转至开始菜单 > 运行 > 输入cmd > 右键单击“命令提示符”,然后选择“以管理员身份运行”。
C:\Users\admin>netstat -ano|findstr "PID :4723"
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:4723 0.0.0.0:0 LISTENING 6134
要终止进程,请键入要终止的端口的PID(在CMD屏幕上显示)。
[/f表示强制终止]
taskkill /pid 6134 /f
英文:
Open a CMD window in Administrator mode by navigating to Start > Run > type cmd > right-click Command Prompt, then select Run as administrator.
C:\Users\admin>netstat -ano|findstr "PID :4723"
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:4723 0.0.0.0:0 LISTENING 6134
To kill the process type the PID of the port you want to kill (which will be displayed on the CMD screen)
[/f is force]
taskkill /pid 6134 /f
答案2
得分: 3
这意味着该端口已经在使用中。您必须终止在该端口运行的进程。
在命令提示符/终端中键入以下内容以获取进程 ID(PID)。
ps aux | grep appium
然后使用以下命令终止该进程
kill -9 PID
Windows 的替代方法:
netstat -ano | findstr :4723
tskill 输入您的PID这里
英文:
It means that port is already in use. You must kill the process running in that port.
Type following in your command prompt/terminal to get the process ids(PID).
ps aux | grep appium
Then kill that process with following command
kill -9 PID
Alternate process for window:
netstat -ano | findstr :4723
tskill typeyourPIDhere
答案3
得分: 1
taskkill /F /IM node.exe
不需要记住和了解进程 ID,只需在命令行中执行上述命令,Appium 服务将会被终止。
英文:
taskkill /F /IM node.exe
Instead of remembering and getting to know the process id, just execute the above in command line and Appium service will be ended.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论