如何关闭使用flask构建的python服务器
当我运行此简单代码时:如何关闭使用flask构建的python服务器,python,flask,Python,Flask,当我运行此简单代码时: 从烧瓶导入烧瓶,渲染模板 app=Flask(名称) @app.route('/') def index(): 返回“这是主页” 如果名称=“\uuuuu main\uuuuuuuu”: app.run(debug=True,host=“0.0.0.0”,port=8080) 它工作正常,但当我在终端中使用ctrl+z关闭它并再次尝试运行它时,我得到的OSError:[Errno 98]地址已在使用中 因此,我尝试更改端口地址并重新运行它,这适用于我输入的一些端口号。但是
从烧瓶导入烧瓶,渲染模板
app=Flask(名称)
@app.route('/')
def index():
返回“这是主页”
如果名称=“\uuuuu main\uuuuuuuu”:
app.run(debug=True,host=“0.0.0.0”,port=8080)
它工作正常,但当我在终端中使用ctrl+z关闭它并再次尝试运行它时,我得到的OSError:[Errno 98]地址已在使用中
因此,我尝试更改端口地址并重新运行它,这适用于我输入的一些端口号。但是我想知道一种优雅的方法来清除前一个程序使用的地址,这样当前程序就可以免费使用了。
另外,关闭服务器并释放端口地址的合适方法是什么
请告诉我一个简单的方法,或者充分解释使用的方法,因为我读过类似问题的解决方案,但一点都不懂
当我跑的时候
netstat-tulpn
输出为:
(并非所有流程都可以识别,非自有流程信息
将不会显示,您必须是root才能看到所有内容。)
活动Internet连接(仅限服务器)
Proto Recv-Q Send-Q本地地址外部地址状态PID/程序名
tcp 0 0 127.0.1.1:53 0.0.0.0:*收听-
tcp 0 0 127.0.0.1:631 0.0.0.0:*收听-
tcp 0.0.0.0:3689 0.0.0.0:*听4361/节奏盒
TCP60:1:631::*听-
TCP60:::3689::*听4361/节奏盒
udp 0.0.0.0:5353 0.0.0.0:*3891/铬
udp 0.0.0.0:5353 0.0.0.0:-
udp 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:68 0.0.0.0:-
udp 0.0.0.0:6310.0.0.0:-
udp 0.0.0.0:58140 0.0.0.0:-
udp6 0:::5353::*3891/铬
udp6 0:::5353:::*-
udp6 0:::41938::*-
我不知道如何解释它
ps aux|grep8080的输出
是:
shryash 22402 0.0 0.0 14224 928分/2秒+01:20 0:00格雷普--color=auto 8080
我不知道如何解释它。
哪个是进程名称,它的id是什么?它保持活动状态,因为您没有关闭它。使用Ctrl+Z可以在不终止进程的情况下从当前终端删除执行
要停止执行,请使用Ctrl+C,您将有另一个进程监听端口8080。你可以检查一下那是什么然后杀了它。您可以通过netstat-tulpn
找到侦听端口的进程。执行此操作之前,请检查以确保没有打开另一个运行实例的终端窗口。如果键入Control+Z,则可以键入fg
将该进程再次移动到前台,并使用Control+C将其杀死。Z只需将当前进程移动到后台(bg
)。jobs
命令将显示正在运行的作业,包括后台的作业
如果您不再打开该窗口,您可以执行以下操作:
ps aux | grep 8080
这将显示进程及其ID
然后,您可以使用以下方法终止该进程:
kill <that_process_id>
杀死
您需要键入
fuser -n tcp -k 8080
在终端中终止在端口8080上运行的flask进程以及如何解释它的输出?如果您在问题中显示输出,我可以告诉您要运行的命令。您指的是哪个窗口?您最初启动flask进程的窗口您指的是浏览器窗口?终端窗口如何解释它的输出。我已经编辑了Q细节。22402是我想要的过程。如果您键入“man ps”,这将告诉您有关ps process tool的更多信息