Clean up daemon state and exit.
()
| 760 | |
| 761 | |
| 762 | def cleanup_and_exit() -> None: |
| 763 | """Clean up daemon state and exit.""" |
| 764 | logging.info("Daemon shutting down") |
| 765 | |
| 766 | # Remove PID file |
| 767 | try: |
| 768 | PID_FILE.unlink(missing_ok=True) |
| 769 | except KeyboardInterrupt as ki: |
| 770 | handle_keyboard_interrupt(ki) |
| 771 | raise |
| 772 | except Exception as e: |
| 773 | logging.error(f"Failed to remove PID file: {e}") |
| 774 | |
| 775 | # Set final status |
| 776 | update_status(DaemonState.IDLE, "Daemon shut down") |
| 777 | |
| 778 | sys.exit(0) |
| 779 | |
| 780 | |
| 781 | def run_daemon_loop() -> None: |
no test coverage detected