클로드 코드 백그라운드 프로세스: 서버 띄워놓고 코딩하기

클로드 코드 백그라운드 프로세스: 서버 띄워놓고 코딩하기

클로드 코드로 웹 개발을 하다 보면 개발 서버를 띄워놓은 상태에서 코드를 수정해야 하는 상황이 자주 생깁니다. 프론트엔드 서버와 백엔드 서버를 동시에 돌리면서 코드를 고쳐야 할 때도 있고요. 일반 터미널에서는 탭이나 tmux로 해결하지만, 클로드 코드 안에서는 어떻게 할까요? 🤔

백그라운드 프로세스 기능을 쓰면 됩니다. 오래 걸리는 명령어를 뒤로 보내놓고 대화를 이어가다가 필요할 때 다시 확인하거나 종료할 수 있거든요. 한번 익혀두면 개발 서버 띄우기, 빌드 감시, 테스트 실행 같은 작업이 훨씬 수월해집니다.

백그라운드로 보내는 두 가지 방법

첫 번째는 Claude에게 직접 요청하는 방법입니다. “개발 서버를 백그라운드로 실행해줘”라고 말하면 Claude가 Bash 도구의 run_in_background 옵션을 켜서 실행해요. 명령어가 비동기로 돌아가니까 결과를 기다릴 필요 없이 바로 다음 대화를 할 수 있습니다.

> 개발 서버를 백그라운드로 실행해줘

⏺ 개발 서버를 백그라운드로 시작하겠습니다.

  ⎿  Running in background: bun run dev (id: bg_1)

두 번째는 이미 실행 중인 명령어를 백그라운드로 전환하는 방법입니다. Claude가 bun run dev를 실행했는데 서버가 뜨면서 프롬프트가 안 돌아오는 상황, 겪어보셨을 겁니다. 이때 Ctrl+B를 누르면 해당 명령어가 즉시 백그라운드로 넘어갑니다.

tmux를 쓰고 있다면 Ctrl+B가 tmux의 프리픽스 키와 겹치기 때문에 Ctrl+B를 두 번 눌러야 합니다. 처음에 한 번 눌렀는데 반응이 없으면 tmux 때문이니 당황하지 마세요.

백그라운드에서 무슨 일이 일어나는가

백그라운드로 보낸 명령어는 고유 ID를 받고 계속 실행됩니다. 출력은 파일에 쌓이고 Claude가 나중에 Read 도구로 읽어올 수 있어요. “아까 띄운 서버 로그 보여줘”라고 하면 백그라운드 출력 파일을 읽어서 보여주는 식이죠.

세션이 종료되면 백그라운드 프로세스도 함께 정리됩니다. 세션을 닫았는데 포트가 물려 있다거나 하는 걱정은 안 해도 돼요. 출력이 5GB를 넘기면 자동 종료되는 안전장치도 있고요.

하단 shells UI로 프로세스 관리하기

백그라운드 프로세스가 하나라도 돌아가면 터미널 하단에 shells라는 표시가 나타납니다. 프론트엔드 서버와 백엔드 서버를 동시에 띄워놓으면 두 개의 셸이 목록에 뜨죠.

방향키(↑↓)로 셸을 오가면서 각각의 출력을 미리 볼 수 있습니다. 더 이상 필요 없는 프로세스는 해당 셸을 선택한 상태에서 x 키를 누르면 바로 종료돼요.

서버를 여러 개 띄워놓고 작업하다가 하나만 골라서 재시작하고 싶을 때 PID를 찾을 필요가 없습니다. 셸 목록에서 눈으로 확인하고 x로 끝내면 되니까요.

모든 백그라운드 프로세스를 한꺼번에 종료하고 싶으면 Ctrl+X Ctrl+K를 누릅니다. 3초 이내에 한 번 더 누르면 확인 없이 전부 종료돼요.

실전 예제: 풀스택 개발 워크플로우

풀스택 프로젝트에서 프론트엔드와 백엔드를 동시에 돌려야 하는 상황을 예로 들어보죠.

> 백엔드 서버를 백그라운드로 띄워줘

⏺ 백엔드 서버를 시작합니다.

  ⎿  Running in background: cd server && bun run dev (id: bg_1)

> 프론트엔드 서버도 백그라운드로 띄워줘

⏺ 프론트엔드 서버도 시작합니다.

  ⎿  Running in background: cd client && bun run dev (id: bg_2)

이제 두 서버가 돌아가는 상태에서 코드를 자유롭게 수정할 수 있습니다. “로그인 API 엔드포인트를 추가해줘”라고 하면 Claude가 코드를 고치고 서버는 핫 리로드로 알아서 반영되죠.

작업 중에 에러가 나면 “백엔드 서버 로그 확인해줘”라고 하면 됩니다. Claude가 백그라운드 출력을 읽어서 에러 원인까지 분석해줘요.

Bash 모드에서도 쓸 수 있다

!를 붙여서 직접 명령어를 실행하는 Bash 모드에서도 백그라운드 전환이 가능합니다. ! npm run dev로 서버를 띄운 뒤 Ctrl+B를 누르면 똑같이 백그라운드로 넘어갑니다.

> ! bun run dev

  Listening on http://localhost:4321

  (Ctrl+B를 눌러 백그라운드로 전환)

Bash 모드에서는 Claude의 해석 없이 명령어가 곧바로 실행됩니다. 자주 쓰는 개발 서버 명령어를 !로 빠르게 띄우고 Ctrl+B로 넘기는 흐름이 꽤 효율적이에요.

백그라운드 기능 끄기

백그라운드 기능 자체를 끄고 싶다면 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 환경 변수를 1로 설정하면 됩니다.

export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1

공용 환경이나 리소스가 제한된 서버에서 Claude가 예상치 못한 백그라운드 프로세스를 만드는 걸 방지할 때 유용합니다.

자주 쓰는 패턴 정리

백그라운드 프로세스를 어떤 상황에서 쓰면 좋은지 몇 가지 정리해봤습니다.

가장 흔한 건 역시 개발 서버입니다. Vite, Next.js, Astro 같은 개발 서버를 백그라운드로 띄워놓고 코드를 수정하면 핫 리로드가 알아서 반영되니까요.

tsc --watchwebpack --watch 같은 파일 감시 명령어도 백그라운드에 잘 맞습니다. 타입 에러나 빌드 에러가 실시간으로 쌓이고 있으니 필요할 때 로그를 확인하면 돼요.

테스트 스위트가 오래 걸리는 프로젝트에서도 유용합니다. 테스트를 백그라운드로 보내놓고 다른 파일을 고치다가 “아까 실행한 테스트 결과 보여줘”라고 하면 Claude가 출력을 읽어오거든요.

Docker Compose처럼 여러 서비스를 한꺼번에 올리는 명령어도 백그라운드로 돌리기 좋습니다. DB, 캐시, 메시지 큐 같은 인프라를 뒤에서 돌려놓고 애플리케이션 코드에 집중하는 거죠.

마치며

백그라운드 프로세스 관리는 클로드 코드의 기본 기능이지만 의외로 모르고 지나치는 분이 많습니다. Ctrl+B로 전환하고 하단 shells에서 방향키와 x로 관리하는 흐름만 기억하면 터미널을 여러 개 띄울 필요 없이 하나의 세션에서 다 해결할 수 있어요.

풀스택 개발처럼 여러 프로세스를 동시에 돌려야 하는 환경에서 특히 유용합니다. 아직 안 써봤다면 다음에 개발 서버를 띄울 때 Ctrl+B를 한번 눌러보세요.

클로드 코드의 기본 사용법이 궁금하다면 클로드 코드 소개를, 슬래시 커맨드와 Bash 모드에 대해 더 알고 싶다면 슬래시 커맨드 가이드를 참고하세요. 클로드 코드가 사용하는 30개 내장 도구에서 Bash 도구의 동작 방식도 확인할 수 있습니다. 백그라운드 프로세스가 아닌 작업 단위의 관리가 필요하다면 Tasks 가이드를 살펴보세요.

더 자세한 내용은 Claude Code 공식 문서의 Background bash commands 섹션을 참고하세요.

This work is licensed under CC BY 4.0 CC BY

개발자를 위한 뉴스레터

달레가 정리한 AI 개발 트렌드와 직접 만든 콘텐츠를 전해드립니다.

Discord