Eazler AI Lab AI Engineering Journal
본문으로 건너뛰기
에이전트◷ 6분 읽기편집자 확인:

Codex CLI 창을 한 번 열었다 닫자 프로세스 두 개와 323MB 복사본이 남았습니다

0.157.0부터 대화형 실행이 상주 데몬을 기본으로 띄웁니다. 0.162.1을 격리 환경에서 실행해 보니 데몬을 멈춘 뒤에도 자동 업데이트 프로세스가 남았고, codex exec와 daemon_auto_start를 끈 대화형 실행에서는 데몬이 생기지 않았습니다

목차

Codex CLI 0.162.1의 대화형 화면을 25초 열었다 닫자, 백그라운드 데몬(54MB)과 자동 업데이트 프로세스(22MB)가 그대로 남았습니다. 실행 파일 복사본 323MB도 새로 생겼습니다. 0.157.0(2026-09-25)부터 기본으로 켜진 동작이고, 이를 기본값에서 빼 달라는 GitHub 이슈 #48195가 2026-10-13 Hacker News에서 약 490점을 받았습니다(2026-10-13 조회).

측정 환경: macOS(Apple Silicon), npm @openai/codex 0.162.1, 평소 설정과 분리한 설치 폴더·설정 폴더, 로그인 안 함측정·원문 대조: 2026-10-13

핵심 요약

2개
창을 닫은 뒤 남은 프로세스
데몬 54MB + 자동 업데이트 22MB. 띄운 창이 끝나 운영체제(PID 1)가 넘겨받음
323MB
CODEX_HOME/packages에 생긴 복사본
npm 설치본과 실행 파일 해시가 같음
0개
codex exec·기능 끈 실행에서 생긴 데몬
터미널이 아닌 실행은 데몬을 띄우지 않음
Codex CLI 0.157 이상을 터미널에서 대화형으로 쓰면(관리자 권한 실행 등 소스에 적힌 예외는 빼고), 창을 닫아도 데몬과 자동 업데이트 프로세스가 계속 실행됩니다. 자동 소스 코드의 기본값으로는 1시간마다 새 버전을 찾고, 있으면 받아서 데몬을 교체합니다(저희는 교체 장면까지는 보지 않았습니다). 원하지 않으면 codex features disable daemon_auto_start로 끌 수 있고, 이미 떠 있는 자동 업데이트 프로세스는 daemon stop으로 함께 꺼지지 않으니 따로 끝내야 합니다. codex exec로만 실행하는 자동화는 이 동작과 관계가 없었습니다.

한눈에

  • 언제부터: 0.157.0 릴리스 노트 "eligible interactive sessions"에서 백그라운드 서버 자동 시작(PR #47179)
  • 기본값: 0.162.1 소스의 daemon_auto_start는 안정(Stable) 단계, 기본 켜짐
  • 끄는 법: codex features disable daemon_auto_start 또는 실행마다 --no-daemon
  • 공식 설정 문서: 설정 레퍼런스에 daemon_auto_start 0회(2026-10-13 조회)

1. 무엇이 바뀌었나: 대화형 실행이 공용 서버를 띄웁니다

Codex CLI의 대화형 화면(TUI)은 원래 그 창 안에서 에이전트 서버를 함께 실행하고, 창을 닫으면 같이 끝났습니다. 0.157.0부터는 여러 창이 함께 쓰는 공용 백그라운드 서버(codex app-server --managed-daemon, 이하 데몬)를 먼저 띄우고, 각 창이 그 서버에 연결됩니다. 릴리스 노트는 이 변화를 "조건에 맞는(eligible) 대화형 세션에서 백그라운드 서버 자동 시작을 켰다"는 한 문장으로 설명했습니다. 조건은 2절의 소스 코드에 있습니다.

이슈 #48195(2026-09-25, 0.157.0·WSL2)를 올린 사용자는 이렇게 보고했습니다. 데몬은 창을 모두 닫아도 남고, 플랫폼 패키지 약 374MB(그 사용자 환경 기준, 저희 macOS 측정은 323MB)를 ~/.codex/packages로 복사해 그 복사본으로 실행되며, 별도의 자동 업데이트 프로세스가 새 버전을 받아 데몬을 다시 띄웁니다. 처음 띄운 세션의 환경 변수(프록시 설정 등)를 데몬이 그대로 이어받는다는 보고도 있습니다. 3절에서는 창을 닫은 뒤 남는 데몬, 실행 파일 복사본, 정지 뒤에도 남는 자동 업데이트 프로세스를 직접 재현했고, 환경 변수 문제는 재현하지 않았습니다.

대화형 codex터미널에서 실행데몬 54MB창을 닫아도 남음, 부모 PID 1자동 업데이트 22MB첫 점검은 5분 뒤, 이후 60분마다(소스 기본값)
codex exec·파이프 실행터미널 아님창 안 서버데몬 없음복사본 없음측정
기능을 끈 대화형 codexdaemon_auto_start = false창 안 서버데몬 없음복사본 없음측정
창을 닫은 뒤에도 남음창과 함께 끝남
화살표는 "실행하면 무엇이 생기는가"를 뜻합니다. 메모리는 2026-10-13 측정한 상주 메모리(RSS)이고, 업데이트 주기는 0.162.1 소스의 기본값입니다.

2. 소스 코드에 적힌 기본값과 조건

아래는 GitHub openai/codex 저장소의 rust-v0.162.1 태그(2026-10-09)에서 읽은 값입니다.

항목소스의 값파일
기능 플래그daemon_auto_start, 단계 Stable(실험이 아닌 정식 기능), default_enabled: true. 설명 "자격이 되는 대화형 실행에서 공용 로컬 데몬을 자동으로 시작"codex-rs/features/src/lib.rs
터미널이 아닐 때표준 입력이나 표준 출력이 터미널이 아니면 데몬을 쓰지 않습니다codex-rs/tui/src/startup_orchestration.rs
첫 업데이트 점검시작 5분 뒤(INITIAL_UPDATE_DELAY)codex-rs/app-server-daemon/src/update_loop.rs
업데이트 주기·종료 유예기본 60분(DEFAULT_UPDATE_INTERVAL_MINUTES), 데몬 교체 때 유예 60초(DEFAULT_SHUTDOWN_GRACE_SECONDS), 자동 업데이트 기본 켜짐codex-rs/app-server-daemon/src/settings.rs
건너뛰는 경우관리자 권한 실행, Windows가 마운트한 WSL 홈(0.162.0에서 추가) 등codex-rs/tui/src/daemon_startup.rs

표의 "업데이트 주기·종료 유예" 줄은 이슈 #40969와 관련이 있습니다. 그 이슈는 자동 업데이트가 진행 중인 작업에 60초 유예를 준 뒤 강제로 끝낸다고 보고했고, 2026-10-13 현재 열려 있습니다. 저희는 업데이트가 실제로 일어나는 장면까지는 재현하지 않았습니다.

3. 직접 실행한 결과

2026-10-13에 macOS(Apple Silicon)에서 npm으로 @openai/codex@0.162.1을 별도 폴더에 설치하고, CODEX_HOME(Codex가 설정·로그인 정보·데몬 파일을 두는 폴더, 기본 ~/.codex)도 빈 폴더로 따로 잡았습니다. 평소 쓰는 ~/.codex의 설정·로그인 정보는 쓰지 않았고, 로그인하지 않은 상태로 실행했습니다. 대화형 화면은 Python pty로 가상 터미널을 만들어 열고, 정해진 시간 뒤 Ctrl-C를 두 번 보내 닫았습니다.

시험한 일결과
A. 대화형 실행가상 터미널에서 codex 25초 실행 후 종료창이 끝난 뒤에도 app-server --managed-daemon(RSS 54MB)과 app-server daemon pid-update-loop(22MB)가 부모 PID 1로 남음(띄운 창이 끝나 운영체제가 넘겨받은 상태). CODEX_HOME/packages 323MB 생성
B. 복사본 대조데몬이 실행 중인 파일과 npm이 설치한 파일의 SHA-256 비교같음(74c6a6d2…). npm 설치 폴더 전체는 329MB
C. 데몬 정지codex app-server daemon stop 후 75초 대기데몬은 멈춤. 자동 업데이트 프로세스는 그대로 남음(이슈 #48195가 0.157.0에서 보고한 것과 같음)
D. 터미널 없는 실행새 CODEX_HOME에서 codex exec "say hi" </dev/null데몬·복사본 없음. 로그인하지 않아 종료 코드 1로 끝났으므로, 로그인한 상태의 exec는 소스 조건(2절)에 기대 판단했습니다
E. 기능 끄기codex features disable daemon_auto_start 뒤 대화형 20초config.toml에 daemon_auto_start = false가 들어가고, 데몬·복사본 모두 생기지 않음

A와 C에서 창을 닫아도 데몬과 자동 업데이트 프로세스가 끝나지 않았고, 공식 정지 명령을 실행한 뒤에도 자동 업데이트 프로세스는 남았습니다.

처음 시험은 CODEX_HOME 경로가 길어 자동 업데이트 프로세스가 "path must be shorter than SUN_LEN"(유닉스 소켓 경로 길이 제한)으로 바로 죽었습니다. 짧은 경로로 다시 실행한 값을 표에 적었습니다. 홈 폴더 경로가 아주 긴 환경에서는 자동 업데이트가 이렇게 조용히 실패할 수 있습니다.

저희 맥에서 평소 실행 중이던 프로세스

같은 날 이 맥의 평소 환경도 조회했습니다. Homebrew로 설치한 CLI는 0.154.0이라 데몬도 ~/.codex/packages도 없었습니다(Homebrew cask의 최신판은 0.162.1이라, 업그레이드하면 이 동작의 대상이 됩니다. formulae.brew.sh 조회). 대신 codex app-server 프로세스 9개가 떠 있었습니다. 8개는 VS Code의 OpenAI 확장(확장 버전 세 가지)이 창마다 띄운 것이고, 1개는 ChatGPT Chrome 확장이 띄운 것으로, 모두 부모 프로세스가 살아 있었고 메모리 합계는 171MB였습니다. CLI 데몬과는 다른 것입니다.

4. 내 컴퓨터에서 조회하는 법

macOS·Linux 터미널에서 실행합니다. 첫 명령이 0.157.0 이상을 출력하고 둘째 명령에서 결과 줄이 나오면 데몬이 실행 중인 것입니다.

codex --version

# 떠 있는 데몬과 자동 업데이트 프로세스
ps -axo pid,ppid,rss,command | grep -E -- '--managed-daemon|daemon pid-update-loop' | grep -v grep

# 데몬이 쓰는 복사본 크기와 버전
du -sh ~/.codex/packages/app-server-daemon 2>/dev/null
codex app-server daemon version

끄려면 아래 순서로 실행합니다. 셋째 줄은 daemon stop이 남긴 자동 업데이트 프로세스를 끝내는 것으로, 이슈 #48195가 쓴 방법과 같고 저희 시험(C)에서도 이 단계가 필요했습니다.

codex features disable daemon_auto_start   # 다음 실행부터 데몬을 띄우지 않음
codex app-server daemon stop                # 지금 떠 있는 데몬 정지
pkill -f 'app-server daemon pid-update-loop'

한 번만 데몬 없이 실행하려면 codex --no-daemon을 씁니다. codex --help는 이 옵션을 "이미 떠 있어도 공용 백그라운드 서버 없이 실행"이라고 설명합니다.

5. 체크리스트

상황할 일
Codex CLI를 터미널에서 대화형으로 쓴다버전이 0.157.0 이상이면 4절 명령으로 데몬이 떠 있는지 보고, 원하는 동작인지 정합니다. 여러 창에서 대화를 공유하거나 Remote Control(다른 기기에서 이 컴퓨터의 Codex를 조작하는 기능)을 쓰려면 이 기능을 켜 두는 편이 맞습니다
실행마다 다른 프록시·환경 변수를 준다이슈 #48195는 데몬이 처음 띄운 세션의 프록시 설정을 계속 쓴다고 보고했습니다. 이런 실행 방식이면 기능을 끄거나 --no-daemon을 씁니다(저희는 재현하지 않았습니다)
패키지 관리자(npm·Homebrew)로 버전을 고정해 쓴다데몬은 복사본으로 실행되고 1시간마다 스스로 새 버전을 찾습니다. 설치한 버전과 실제로 실행되는 버전이 달라질 수 있으니 codex app-server daemon version으로 둘을 비교합니다
codex exec로 CI·스크립트를 실행한다소스상 터미널이 아닌 실행은 데몬을 띄우지 않고, 저희 시험(D)에서도 생기지 않았습니다. 따로 할 일은 없습니다
팀 노트북 설정을 관리한다~/.codex/config.toml의 [features]에 daemon_auto_start = false를 넣어 배포할 수 있습니다. 이 키는 2026-10-13 현재 공식 설정 레퍼런스에 없으니, 버전을 올릴 때 동작을 다시 살펴봅니다

6. 아직 결론이 아닌 것

  • 로그인한 상태로는 측정하지 않았습니다. 로그인 없이도 데몬이 떴으므로 로그인 뒤에도 뜰 것으로 보지만, 메모리 사용량은 대화가 진행되면 달라질 수 있습니다.
  • 업데이트가 실제로 일어나는 장면은 보지 않았습니다. 5분 뒤 첫 점검까지 기다리지 않았습니다. 주기와 유예 시간은 소스의 기본값입니다.
  • Homebrew 설치본은 시험하지 않았습니다. npm 설치본만 시험했습니다. 패키지 관리자 설치본을 복사하지 말아 달라는 이슈(#41188, #46468, #48050)는 모두 열려 있습니다.
  • Windows·Linux는 시험하지 않았습니다. 이슈 #48195는 WSL2, 첫 댓글은 Windows 10에서 같은 동작을 보고했습니다.
  • OpenAI의 답은 아직 없습니다. 2026-10-13 현재 이슈 #48195는 열려 있고, 기본값을 바꾸겠다는 공지는 찾지 못했습니다.

참고자료

원문과 소스는 2026-10-13에 대조했습니다. 이 블로그는 리뷰 작업에 Codex CLI를 쓰지만 OpenAI와 관계(광고·협찬·제공)는 없습니다.

출처이 글이 가져온 것구분
Codex 0.157.0 릴리스 노트 (2026-09-25) · 0.162.0 · 0.162.1자동 시작 도입 문장, PR #47179, WSL 예외 추가1차(OpenAI)
openai/codex 소스 rust-v0.162.1기능 플래그 기본값, 터미널 조건, 업데이트 주기·유예1차(OpenAI)
이슈 #48195 · #40969 · #41188 · #46468 · #48050사용자 보고(복사본 374MB, 프록시 유지, 정지 후 남는 자동 업데이트 프로세스), 열린 관련 이슈사용자 보고
Codex 설정 레퍼런스 · CLI 레퍼런스daemon_auto_start 0회, check_for_update_on_startup는 실림1차(OpenAI)
Hacker News 토론점수·댓글 수(2026-10-13 조회)반응

OpenAI가 기본값을 바꾸거나 설정 문서에 이 항목을 실으면 이 글을 고치고 개정 날짜를 적겠습니다.

뉴스레터

매주 일요일, 그 주의 새 리포트를 보내 드립니다

한 주에 나온 리포트를 한 통에 모아 보내고, 새 글이 없는 주는 건너뜁니다. 리포트 소식 외에는 보내지 않습니다.

받은 주소는 새 리포트 알림에만 사용하며, 언제든 해지할 수 있습니다. 개인정보처리방침
발행처

Eazler AI Lab은 주식회사 이즐러가 발행하는 AI 엔지니어링 연구 노트입니다. 1차 자료를 원문으로 읽고, 확인하지 못한 것은 확인하지 못했다고 씁니다.

편집 기준 · 검증 방법론 →

새 리포트 요약은 Threads @eazler.inc에도 올립니다.

AI 에이전트 도입·자동화 구축 문의는 hello@eazler.com