[Python] How to I close down a python server built using flask

Discussão em 'Python' iniciado por Stack, Abril 18, 2025.

  1. Stack

    Stack Membro Participativo

    When I run this simple code:

    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)

    It works fine but when I close it using ctrl+z in the terminal and try to run it again I get OSError: [Errno 98] Address already in use

    So I tried changing the port address and re-running it which works for some of the port numbers I enter. But I want to know a graceful way to clear the address being used by previous program so that it is free for the current one. Also is what is the apt way to shutdown a server and free the port address.

    Kindly tell a simple way to do so OR explain the method used fully because I read solutions to similar problems but didn't understand any of it.

    When I run netstat -tulpn The output is :

    (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 :::* -

    I'm not sure how to interpret it.

    the output of ps aux | grep 8080 is :

    shreyash 22402 0.0 0.0 14224 928 pts/2 S+ 01:20 0:00 grep --color=auto 8080

    I don't know how to interpret it. Which one is the the process name and what is it's id?

    Continue reading...

Compartilhe esta Página