창을 닫아도 남는 codex 프로세스를 끄는 법
네 줄로 끄고 남은 것을 지운다
0.157.0부터 대화형 codex를 열면 대화를 처리하는 서버가 터미널 창과 따로 뜹니다. 이 서버를 데몬이라고 합니다. 창을 닫아도 데몬은 꺼지지 않습니다.
codex features disable daemon_auto_startcodex app-server daemon stoppkill -f 'app-server daemon pid-update-loop'rm -rf "${CODEX_HOME:-$HOME/.codex}/packages/app-server-daemon"첫 줄은 다음 창부터 데몬을 띄우지 않게 합니다. 설정 파일에 남으므로 업데이트 뒤에도 유지됩니다. 나머지 세 줄은 지금 떠 있는 데몬과 업데이터, 복사된 사본을 지웁니다.
codex agents를 쓴다면 이 설정과 상관없이 데몬이 다시 뜹니다. 그때는 끄는 대신 사본을 설치본과 같게 맞춰 자동 업데이트만 멈춥니다. npm으로 버전을 올릴 때마다 아래 명령을 다시 칩니다.
codex app-server daemon update --from-cli설정 파일로 끄거나 꺼졌는지 확인하려면
첫 줄은 ~/.codex/config.toml에 아래 두 줄을 쓰는 것과 같습니다. codex features list에서 daemon_auto_start가 false면 꺼져 있습니다.
[features]daemon_auto_start = false데몬이 멈춰 있으면 codex app-server daemon version은 No such file or directory 오류로 끝납니다.
데몬은 사본을 스스로 업데이트한다
팀 버전에 맞춰 npm i -g @openai/codex@0.161.0으로 깔았는데, 실제로 대화를 처리하는 데몬은 0.162.1입니다. codex app-server daemon version을 쳐서 cliVersion과 appServerVersion이 다르면 지금 그 상태입니다.
데몬은 npm이 깐 파일로 돌지 않습니다. 처음 뜰 때 설치본을 ~/.codex 아래로 복사해 그 사본으로 돌고, 한 시간마다 최신판을 받아 사본만 바꿉니다. npm i -g로 고정한 버전도, 미뤄 둔 brew upgrade도 대화를 처리하는 사본에는 반영되지 않습니다.
npm은 설치본만 바꾸고, 데몬은 업데이터가 바꾼 사본으로 돈다
창마다 프록시를 다르게 쓰거나 오래 걸리는 작업을 돌린다면
여러 창이 데몬 하나를 나눠 쓰므로, 뒤에 연 창도 데몬을 처음 띄운 창의 HTTPS_PROXY 같은 환경변수를 씁니다. 그 창만 데몬 없이 열려면 codex --no-daemon으로 엽니다.
업데이터가 데몬을 재시작할 때 60초 안에 끝나지 않은 작업은 끊깁니다.