gpt4 book ai didi

Python Flask Socket 报错(Linux 环境新手)

转载 作者:IT王子 更新时间:2023-10-29 00:53:43 24 4
gpt4 key购买 nike

这可能是一个快速修复,但我遇到了停顿,希望你能提供帮助。请耐心等待,我不熟悉命令行环境。

我刚刚开始使用名为 Flask 的 Python 框架。它已经成功安装,我开始运行 Hello World。当我在浏览器中调用程序时,控制台正在向我发送日志。

为了退出控制台日志,我按了 ctrl-z (^Z) ~~错误可能从哪里开始?~~ 并提示:

[1]+  Stopped                 python hello.py

现在,当我 a) 尝试在浏览器中运行程序或 b) 在命令行 python hello.py 中运行脚本时,我抛出了一个错误:

socket.error: [Errno 48] Address already in use

..当然还有打印到控制台的许多其他行。

一个好的答案应该包括我做错了什么以及我可以做些什么来解决它,一个被接受的答案还应该包括为什么 ;)

最佳答案

您猜对了,Ctrl-Z 是给您带来麻烦的原因。您的问题是 Ctrl-Z 实际上使应用程序暂停,而不是终止。要终止程序,您需要 Ctrl-C

您的程序正在使用它配置使用的套接字。尝试重新启动程序会导致一个新的 Python 实例尝试使用您已配置程序使用的套接字 - 该套接字正由已停止的程序持有。

从这里您有一些选择:

  • 在带有已停止的 Python 实例的 shell 中,您可以键入 %1fg 1 以返回运行您已停止的 Python 实例,然后就是这样显示到您的终端。
    • 完成上述操作后,您可以键入 Ctrl-C,并结束您正在运行的 Python 实例,使套接字可用于新的 Python 实例。<
  • 在同一个 shell 中,您可以键入 bg 1,这将导致该 Python 实例在后台运行,而不显示给终端。然后应用程序应该会响应。在任何时候,您都可以在该命令行中键入 fg 1 以使其再次显示在终端上。

还有其他可用的选项,包括使用 ps 查找 Python 实例的进程 ID,然后使用 kill 向该进程发送信号(如果可以)找不到它运行的命令行。

shell 的手册页应该在作业控制方面为您提供更多帮助。您可以使用 man 命令来阅读手册。输入 man bash 阅读 bash 手册。如果你在其他一些 shell 上运行,你可以用那个 shell 的名字调用 man

关于Python Flask Socket 报错(Linux 环境新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com