> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 샌드박스 환경에서 명령어 실행하기

> 샌드박스 내부에서 명령어를 실행하고 출력을 캡처합니다.

튜토리얼의 이 부분에서는 샌드박스 내부에서 명령어를 실행하고 그 출력을 캡처합니다. 다음 예시에서는 오류 확인, timeout, 작업 디렉터리 등 자주 사용하는 패턴을 보여줍니다.

```python theme={"system"}
# 기본 명령
sandbox.exec(["echo", "Hello"]).result()

# 명령이 0이 아닌 종료 코드를 반환하면 SandboxExecutionError 발생
sandbox.exec(["ls", "/nonexistent"], check=True).result()

# 명령이 timeout을 초과하면 SandboxTimeoutError 발생
sandbox.exec(["sleep", "60"], timeout_seconds=5).result()

# 특정 디렉터리에서 실행
sandbox.exec(["ls"], cwd="/app").result()
```

<h2 id="parallel-execution">
  병렬 실행
</h2>

각 명령어가 끝나기를 기다렸다가 다음 명령어를 시작할 필요가 없다면 여러 명령어를 병렬로 실행하세요. 명령어가 서로 독립적이라면 전체 실행 시간을 줄일 수 있습니다.

```python theme={"system"}
import cwsandbox

# exec()는 명령이 종료될 때까지 기다리지 않고 즉시 Process를 반환합니다
p1 = sandbox.exec(["sleep", "1"])
p2 = sandbox.exec(["sleep", "1"])
p3 = sandbox.exec(["sleep", "1"])

# 출력이 필요할 때 .result()를 호출하세요 - 총 소요 시간은 3초가 아니라 약 1초입니다
cwsandbox.result([p1, p2, p3])
```

스트리밍, 오류 처리, 프로세스 제어에 대해서는 [실행 가이드](/ko/products/sandboxes/client/guides/execution)를 참조하세요.
