콘텐츠로 이동

Background Exec와 Process Tool로 긴 작업 관리하기

터미널에서 시간이 오래 걸리는 명령어를 실행하고 결과가 나올 때까지 마냥 기다려 본 적이 있나요? 작업이 중간에 끊길까 봐 걱정되거나, 다른 일을 하면서도 작업 상태를 계속 확인하고 싶은 마음은 모든 개발자가 공감할 거예요.

OpenClaw는 이런 문제를 해결하기 위해 exec와 process 도구를 제공해요. 이 도구들을 사용하면 긴 작업을 백그라운드로 보내고 원할 때마다 상태를 확인할 수 있어요.

  • OpenClaw 실행 환경
  • exec 및 process 도구 사용 권한 (권한이 없으면 백그라운드 기능이 작동하지 않아요)

5분 안에 백그라운드 작업을 시작하고 관리하는 방법을 알려드릴게요.

  1. exec로 작업 시작하기: background: true를 설정하면 명령어를 즉시 백그라운드에서 실행해요.

    { "tool": "exec", "command": "npm run build", "background": true }
  2. 세션 목록 확인: process list를 사용해 현재 실행 중이거나 종료된 세션의 ID와 이름을 확인하세요.

    { "tool": "process", "action": "list" }
  3. 작업 결과 확인: process poll을 사용하면 마지막으로 확인한 이후에 새로 생성된 출력을 가져올 수 있어요.

    { "tool": "process", "action": "poll", "sessionId": "<id>" }
  4. 입력 전달하기: 작업 중에 사용자 입력이 필요하다면 write 액션으로 데이터를 보낼 수 있어요.

    { "tool": "process", "action": "write", "sessionId": "<id>", "data": "y\n" }

작업 중에 문제가 생겼다면 아래 내용을 확인해 보세요.

  • exec가 백그라운드로 전환되지 않아요: process 도구가 비활성화되어 있는지 확인해 보세요. 이 도구가 허용되지 않으면 exec는 yieldMs나 background 설정을 무시하고 동기 방식으로만 작동해요.
  • 고아 프로세스가 생겨요: exec 도구 밖에서 자식 프로세스를 직접 생성할 때는 child-process bridge helper를 연결해야 해요. 그래야 종료 신호가 제대로 전달되고 시스템 리소스가 낭비되지 않아요.

AI Setup Assistant

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.