재시작 · 회복
실행 중인 셸을 죽이지 않고 서버 코드만 새 이미지로 교체하고, 네트워크가 느려져도 세션을 잃지 않고 반응성만 되살립니다.
작업 보존 서버 재시작
열린 패널의 셸 · 실행 중 프로그램 · 스크롤백을 살린 채 코드만 교체합니다 (제자리 re-exec). Windows 는 아웃오브프로세스 pty-host 가 ConPTY 를 영구 소유해 재시작이 HPCON 을 건드리지 않습니다.
| 명령 | 설명 |
|---|---|
restart-server (별칭 restart) | 서버만 재시작. 실행 전 드라이런을 먼저 돌리고, 실패하면 다시 확인합니다. |
restart-all (별칭 full-restart) | 서버(보존) + 클라이언트 동시 재시작 |
restart-check (별칭 restart-dry-run) | 독립 드라이런 — 재시작 전 re-exec·직렬화·fd·재기동을 점검하는 팝업 |
restart-check 로 먼저 확인한 뒤 재시작하는 것입니다.
서버가 비정상으로 끝났다면. 셸을 담은 그릇(pty-host)은 서버보다 오래 살도록
일부러 분리돼 있어, 서버가 강제 종료되면 그 그릇만 남을 수 있습니다. 이제 그릇은
자기를 띄운 서버가 사라진 것을 스스로 확인하고 잠시(기본 1분) 기다린 뒤 안의 셸까지
정리하고 종료합니다. 서버가 살아 있는 동안에는 스스로 종료하지 않으므로 재시작·재접속에는 영향이 없습니다.
기다리지 않고 즉시 정리하려면 pytmux kill-server 를 쓰면 되고,
이 자동 정리를 끄려면 환경변수 PYTMUX_PTYHOST_GRACE=0 로 둡니다.
네트워크 응답성과 재접속
클라↔서버 IPC 지연이 커지면 패널 외곽선을 빨간색으로 표시하고, 고착되면
reconnect(별칭 resync; 또는 워치독 자동)으로 실행 중 셸/Claude 를
죽이지 않고 IPC 만 다시 세워 반응성을 회복합니다. 지연 판정 문턱은 설정 파일의
net_rtt_threshold(초, 기본 0.4)로 조정합니다.
느린 SSH 링크에서는 coalesce-repaints on 으로 대체화면(alt-screen) 전체 리페인트를
병합해 체감 반응성을 높일 수 있습니다. 서버 정보 팝업(version·별칭 about)에는
클라 수명 동안의 60분 RTT 그래프가 있어 링크 상태를 눈으로 확인할 수 있습니다
(재시작해도 보존).
재접속까지 실패해 클라이언트가 끝날 때는 왜 끝났는지가 종료 문구로 남습니다.
서버가 정상 절차로 내려간 경우(kill-server·restart 등)에는
“서버가 종료되었습니다”가, 서버 프로세스가 밖에서 강제 종료되거나 크래시해
작별 인사 없이 사라진 경우에는 “서버 연결이 끊겼고 재접속에 실패했습니다 — 서버 프로세스가
외부에서 강제 종료됐는지 확인하세요”가 나옵니다. 후자가 보이면 pytmux 가 스스로 끝난 것이 아니라
바깥에서 죽은 것이므로, 프로세스 이름으로 일괄 종료하는 스크립트(pkill -f python,
Get-Process pythonw | Stop-Process 등)가 서버·pty-host 까지 함께 죽이지 않았는지
확인하세요. 이때 죽은 로컬 서버로의 재접속 시도는 0.5초 상한이 걸려 곧바로 정리됩니다
(원격 서버로 가는 연결은 링크 지연이 정상이라 제한하지 않습니다).