Claude Code 사용 시 백그라운드 서버 잔존 여부 테스트 결과
요약
본 기사는 Claude Code가 종료될 때 백그라운드 서버 프로세스를 안전하게 중지하는지 테스트한 결과를 다룹니다. 특히 `&`나 `Start-Process`와 같이 명시적으로 분리된 방식으로 실행된 서버는 Claude의 정상적인 종료 절차를 거치더라도 남아있는 경향을 보였습니다. Claude가 백그라운드 작업을 시작하고 사용자가 1번(확인)을 선택했을 때는 대부분의 경우 프로세스가 중지되었으나, 별도의 콘솔 명령어로 분리된 경우에는 잔존 문제가 확인되었습니다.
핵심 포인트
- `&`나 `Start-Process`로 실행된 서버는 종료 시 남아있을 가능성이 높음.
- Claude가 백그라운드 작업을 시작하고 사용자에게 확인 메시지를 띄우면 프로세스가 중지됨.
- 명시적인 분리(Detaching) 방식은 Claude의 기본 종료 로직을 우회할 수 있음.
- 문서상으로는 macOS/Linux에서 특정 조건 하에 프로세스 중지가 명시되어 있으나, Windows 환경에서는 주의가 필요함.
Codex CLI가 기본적으로 상주하며 자동 업데이트하는 데몬을 포함하고 있다는 이슈가 있었습니다 (openai/codex#48195, Hacker News에서 453pt).
그렇다면 Claude Code는 종료 후에 무엇을 남길까요? Claude에게 백그라운드 서버를 실행시키고 종료 방식을 바꿔가며 Windows 환경에서 총 44번 측정했습니다.
닫은 후 5초 뒤, 서버(포트8765)가 남아 있었는지 (각 2회)
Claude의 시작 방식 /exit Ctrl+C×2 창 닫기(×)
백그라운드 실행 (Bash) 멈춤 멈춤 멈춤
...
검증 환경: Windows 10 / Claude Code 2.1.296 / 본체 모델은 Sonnet 5.5 / 대화 모드는 별도의 콘솔에서 시작하고,
키 입력과 종료를 자동화 / 모든 랜덤 설정 디렉토리 일회용 / 측정일은 2026-10-13
포트8765에서 기다리는 server.js (Node)
을 준비하여, 실행 방식을 지정하고 요청했습니다.
- 백그라운드 실행: “Bash 도구의 run_in_background로 node server.js만 실행해 주세요” (PowerShell 버전도 포함)
- 분리(Detaching): “Bash에서 node server.js &를 입력해서”, “PowerShell의 Start-Process로”
- 지정 없음: “백그라운드에서 계속 작동하게 해 주세요” (12회)
종료 방식은 /exit, Ctrl+C 2회, 콘솔 창 닫기(×)의 세 가지입니다. 확인 메시지가 나왔을 때는 1번을 선택했습니다 (2번을 선택했을 경우 후반부).
백그라운드 실행으로 시작한 경우에는, /exit와 Ctrl+C 8가지 방식 모두 종료하기 전에 이 확인 메시지가 나타났습니다.
Background work is running
The following will stop when you exit:
shell · node server.js
...
1번을 선택했을 때는 8가지 방식 모두 서버가 중지했고, 창 닫기(×)로도 4가지 방식 모두 중지했습니다.
&와 Start-Process로 시작한 16회는 확인 메시지가 한 번도 나타나지 않았고, 종료 방식과 관계없이 16회 모두 남아 있었습니다.
지정 없음으로 요청한 12회 중 2회는 Claude가 스스로 Start-Process -WindowStyle Hidden을 사용하여 확인 없이 남았습니다. 나머지 10회는 백그라운드 실행이었고, 종료 방식별 결과도 위 두 줄과 동일했습니다.
documentation은 분리된 프로세스까지 중지하는 것을 macOS와 Linux로 한정하고 있습니다 (2026-10-13 기준).
On macOS and Linux, when you stop a background task from
/tasks
or Claude Code stops it at exit, processes that detached from the task's shell, such as ones started undersetsid
ortimeout, stop too
파악한 횟수에서는 화면 하단에 다음과 같이 표시되었습니다.
✻ Churned for 7s · done 11:01 · 1 shell still running
⏵⏵ accept edits on · 1 shell · ← for agents · ↓to manage
&나 Start-Process의 경우, 서버가 작동하고 있음에도 불구하고 1 shell이 없습니다. 종료하기 전에 이곳을 확인하면 남아 있는지 여부를 알 수 있습니다.
확인 메시지에서 2번을 선택한 6회는 서버 외에 Claude Code 프로세스 하나가 더 남았습니다 (경로와 인자 일부 생략).
claude.exe daemon run --origin transient --spawned-by {...}
documentation(agent-view)에서 “슈퍼바이저(supervisor)”라고 부르는 것입니다.
The supervisor is a background service that runs your background sessions so they keep working after you close agent view or your terminal.
Claude Code에도 상주하는 프로세스가 있습니다. 다만, 사용자가 직접 2를 선택했을 때만 그렇습니다. 종료는 claude daemon stop --any로 합니다.
claude -p로 백그라운드 실행하면, 결과를 반환한 후에도 열린 상태로 607초 동안 대기하다가 시간 제한으로 서버가 멈추면서 끝났습니다 (각 1회). 문서에 나와 있는 10분과 같습니다. &
또는 Start-Process
로 분리했던 경우는, -p가 끝난 후에도 남아 있었습니다.
PowerShell에서 포트 소유자를 확인하고, 자신이 시작한 것인지 확인한 후에 종료합니다.
Get-NetTCPConnection -LocalPort 8765 -State Listen | Select-Object OwningProcess
Get-CimInstance Win32_Process -Filter "ProcessId=<PID>" | Select-Object CommandLine
Stop-Process -Id <PID>
명령줄에 이름이 포함되어 있다는 이유만으로 일괄 종료하지 마세요. Next.js 개발 서버의 start-server.js나 TypeScript의 tsserver.js처럼, 이름 끝 부분이 server.js인 프로세스는 정상적으로 작동합니다.
Windows 10・Claude Code 2.1.296・Sonnet 5.5 조합으로 각각 2회입니다. macOS와 Linux는 측정하지 않았습니다 - 서버는 작은 Node 하나입니다.
npm run dev처럼 여러 단계의 자식 프로세스를 만드는 경우는 측정하지 않았습니다 - 창을 닫은 것은 기존 콘솔(conhost)이었습니다. Windows Terminal과 VS Code 확장 기능은 측정하지 않았습니다
- 백그라운드로 돌린 세션이 약 1시간 동안 종료되는 움직임 (문서에 기재된 내용)은 확인하지 못했습니다
Claude Code가 파악하는 서버는, /exit・Ctrl+C・창의 × 중 어떤 것으로도 멈췄습니다-
Claude는 12회 중 2회, 자신이 분리한 &나 Start-Process로 분리한 서버가 확인 없이 남아 있었습니다. -
구별 방법은 화면 하단에 표시되지 않으면, 닫아도 남는 1 shell입니다. 확인 시 'Move to background and exit'을 선택하면 상주하는 프로세스와 서버가 남습니다.
창을 닫았는데 포트가 사용 중이라면, Claude가 Start-Process나 &로 시작하지 않았는지를 먼저 의심해 보세요.
Claude Code에 전달한 파일이나 지시사항이 조용히 도착하지 않은 6가지 상황과 확인 방법 — 조용히 일어나고 있던 6가지 상황
Shift-JIS 파일을 Claude Code에서 한 곳 수정했더니, 일본어가 전부 깨져서 되돌릴 수 없게 된 경우 — Windows에서 발생하기 쉬운 다른 함정
JQIT의 엔지니어 95% 이상은 비경험자 채용입니다.
괜찮으시면 기업 사이트에도 놀러 오세요.
엔지니어 채용도 진행하고 있습니다. 관심 있으시면 한번 둘러봐 주세요.
▶ 채용 사이트
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기