Background Exec와 Process Tool로 긴 작업 관리하기
터미널에서 시간이 오래 걸리는 명령어를 실행하고 결과가 나올 때까지 마냥 기다려 본 적이 있나요? 작업이 중간에 끊길까 봐 걱정되거나, 다른 일을 하면서도 작업 상태를 계속 확인하고 싶은 마음은 모든 개발자가 공감할 거예요.
OpenClaw는 이런 문제를 해결하기 위해 exec와 process 도구를 제공해요. 이 도구들을 사용하면 긴 작업을 백그라운드로 보내고 원할 때마다 상태를 확인할 수 있어요.
필요한 것
섹션 제목: “필요한 것”- OpenClaw 실행 환경
exec및process도구 사용 권한 (권한이 없으면 백그라운드 기능이 작동하지 않아요)
빠른 시작
섹션 제목: “빠른 시작”5분 안에 백그라운드 작업을 시작하고 관리하는 방법을 알려드릴게요.
-
exec로 작업 시작하기:background: true를 설정하면 명령어를 즉시 백그라운드에서 실행해요.{ "tool": "exec", "command": "npm run build", "background": true } -
세션 목록 확인:
process list를 사용해 현재 실행 중이거나 종료된 세션의 ID와 이름을 확인하세요.{ "tool": "process", "action": "list" } -
작업 결과 확인:
process poll을 사용하면 마지막으로 확인한 이후에 새로 생성된 출력을 가져올 수 있어요.{ "tool": "process", "action": "poll", "sessionId": "<id>" } -
입력 전달하기: 작업 중에 사용자 입력이 필요하다면
write액션으로 데이터를 보낼 수 있어요.{ "tool": "process", "action": "write", "sessionId": "<id>", "data": "y\n" }
문제 해결
섹션 제목: “문제 해결”작업 중에 문제가 생겼다면 아래 내용을 확인해 보세요.
exec가 백그라운드로 전환되지 않아요:process도구가 비활성화되어 있는지 확인해 보세요. 이 도구가 허용되지 않으면exec는yieldMs나background설정을 무시하고 동기 방식으로만 작동해요.- 고아 프로세스가 생겨요:
exec도구 밖에서 자식 프로세스를 직접 생성할 때는child-process bridge helper를 연결해야 해요. 그래야 종료 신호가 제대로 전달되고 시스템 리소스가 낭비되지 않아요.
다음 단계
섹션 제목: “다음 단계”OpenClaw Expert
아직 막혀 있나요?
이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.