I'd like to be able to terminate my flask app remotely with an http request like this: import flask import sys master = flask.Flask(__name__) @master.route('/shutdown') def shutdown(): #do things sys.exit() if __name__ == '__main__': master.run() Thing is it just doesn't work. From the terminal I get nothing, as if it's not even processing the request. I know that sys.exit() just raises a SystemExit, so I think it may be that it gets caught somewhere. The fact that os._exit(0) does work also leads me to think so. Am I tripping on something stupid? Is it actually a bug and there is a workaround? I'd prefer not to use os._exit(0) if possible. Thanks! Edit: I wouldn't say this question is a duplicate since the accepted answers differ and the other one is from '13 (Flask's gone a long way in the meantime) Continue reading...