Send shutdown + exit.
(self)
| 378 | pass |
| 379 | |
| 380 | def shutdown(self) -> None: |
| 381 | """Send shutdown + exit.""" |
| 382 | self._stopped = True |
| 383 | rid = self.send_request("shutdown", {}) |
| 384 | try: |
| 385 | self.wait_for_response(rid, timeout=10) |
| 386 | except (TimeoutError, EOFError): |
| 387 | pass |
| 388 | try: |
| 389 | self.send_notification("exit", {}) |
| 390 | except (BrokenPipeError, OSError): |
| 391 | pass |
| 392 | try: |
| 393 | self._proc.wait(timeout=5) |
| 394 | except subprocess.TimeoutExpired: |
| 395 | self._proc.kill() |
| 396 | self._proc.wait() |
| 397 | |
| 398 | def __del__(self): |
| 399 | try: |