python - 如何关闭使用烧瓶构建的 python 服务器
问题描述
当我运行这个简单的代码时:
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def index():
return 'this is the homepage'
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0",port=8080)
它工作正常,但是当我在终端中使用 ctrl+z 关闭它并尝试再次运行它时,我得到了OSError: [Errno 98] Address already in use
所以我尝试更改端口地址并重新运行它,这适用于我输入的一些端口号。但我想知道一种优雅的方法来清除先前程序正在使用的地址,以便它对当前程序可用。还有什么是关闭服务器并释放端口地址的恰当方法。
请告诉一个简单的方法或解释完全使用的方法,因为我阅读了类似问题的解决方案但不理解任何一个。
当我运行
netstat -tulpn
输出是:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3689 0.0.0.0:* LISTEN 4361/rhythmbox
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 :::3689 :::* LISTEN 4361/rhythmbox
udp 0 0 0.0.0.0:5353 0.0.0.0:* 3891/chrome
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 0.0.0.0:39223 0.0.0.0:* -
udp 0 0 127.0.1.1:53 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp 0 0 0.0.0.0:631 0.0.0.0:* -
udp 0 0 0.0.0.0:58140 0.0.0.0:* -
udp6 0 0 :::5353 :::* 3891/chrome
udp6 0 0 :::5353 :::* -
udp6 0 0 :::41938 :::* -
我不确定如何解释它。
的输出ps aux | grep 8080
是:
shreyash 22402 0.0 0.0 14224 928 pts/2 S+ 01:20 0:00 grep --color=auto 8080
我不知道如何解释它。哪个是进程名称,它的 ID 是什么?
解决方案
它仍然活着,因为你没有关闭它。使用 Ctrl+Z 您可以从当前终端中删除执行而不杀死进程。
要停止执行,请使用 Ctrl+C
推荐阅读
- java - springMVC 中的@RequestAttribute 没有绑定实体类的对象
- javascript - 在 Jquery 每个循环中使用 TypeScript 变量
- r - 如何在openxlsx生成的XLSX中允许按年、月、日过滤
- azure - 用 ADFS 替换 AD 的最简单方法(或将其添加到它上面)?
- jquery - CSS:“前沿”设计。如何?
- metadata - Icecast/Shoutcast 广播流:提取正在播放的信息
- python - 使用 python 和 beatifulsoup 抓取在线论坛线程的页面
- javascript - {"error":"unsupported_grant_type"} while get token from my rest api on flutter
- python - Model prediction in data generator Keras
- java - SAX parser won't ignore non included element attribute in bean definition while unmarshalling