diff --git a/management/ncp.py b/management/ncp.py index 4b5f276..07d60fe 100644 --- a/management/ncp.py +++ b/management/ncp.py @@ -727,4 +727,12 @@ def main(argv) -> int: if __name__ == "__main__": - sys.exit(main(sys.argv[1:])) + try: + sys.exit(main(sys.argv[1:])) + except KeyboardInterrupt: + # Ctrl+C is how you quit `ncp web` - it waits on the UI window. Without + # this it printed a six-frame traceback ending in WaitForSingleObject, + # which reads as a crash rather than "you pressed Ctrl+C". 130 is the + # conventional exit status for SIGINT. + print() + sys.exit(130)