상세 가이드 · 12 / 15

재시작 · 회복

실행 중인 셸을 죽이지 않고 서버 코드만 새 이미지로 교체하고, 네트워크가 느려져도 세션을 잃지 않고 반응성만 되살립니다.

작업 보존 서버 재시작

열린 패널의 셸 · 실행 중 프로그램 · 스크롤백을 살린 채 코드만 교체합니다 (제자리 re-exec). Windows 는 아웃오브프로세스 pty-host 가 ConPTY 를 영구 소유해 재시작이 HPCON 을 건드리지 않습니다.

명령설명
restart-server (별칭 restart)서버만 재시작. 실행 전 드라이런을 먼저 돌리고, 실패하면 다시 확인합니다.
restart-all (별칭 full-restart)서버(보존) + 클라이언트 동시 재시작
restart-check (별칭 restart-dry-run)독립 드라이런 — 재시작 전 re-exec·직렬화·fd·재기동을 점검하는 팝업
재시작 드라이런 점검 팝업
restart-check 드라이런 — 실제 재시작 전에 안전을 점검합니다.
권장 절차는 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초 상한이 걸려 곧바로 정리됩니다 (원격 서버로 가는 연결은 링크 지연이 정상이라 제한하지 않습니다).