diff --git a/pelican/__init__.py b/pelican/__init__.py index 17f4f922..97135a62 100644 --- a/pelican/__init__.py +++ b/pelican/__init__.py @@ -466,14 +466,19 @@ def listen(server, port, output, excqueue=None): excqueue.put(traceback.format_exception_only(type(e), e)[-1]) return - logging.info("Serving at port %s, server %s.", port, server) try: + print("\nServing site at: {}:{} - Tap CTRL-C to stop".format( + server, port)) httpd.serve_forever() except Exception as e: if excqueue is not None: excqueue.put(traceback.format_exception_only(type(e), e)[-1]) return + except KeyboardInterrupt: + print("\nKeyboard interrupt received. Shutting down server.") + httpd.socket.close() + def main(argv=None): args = parse_arguments(argv)