> ## 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.

# クリーンアップ

> コンテキストマネージャー、明示的な停止、グローバルな atexit ハンドラを使用して、サンドボックスを終了し、クリーンアップを管理します。

以下の例では、`CWSANDBOX_API_KEY` に設定した CoreWeave API アクセストークンを使用します。Forge APIキーによる認証については、[はじめに](/ja/products/sandboxes/get-started)を参照してください。CKS の要件については、[配置モード](/ja/products/sandboxes/placement)を参照してください。

このページでは、コードが正常に終了した場合や予期せず終了した場合でもリソースが解放されるよう、サンドボックスを確実に終了する方法を説明します。これらのパターンを使用すると、スクリプトの完了後に孤立したサンドボックスが実行されたまま残るのを防げます。

コンテキストマネージャーを使用すると、クリーンアップを自動的に処理できます。

```python theme={"system"}
with Sandbox.run() as sandbox:
    sandbox.exec(["echo", "hello"]).result()
# 自動的に停止します
```

コンテキストマネージャーを使用せずに作成したサンドボックスでは、`.stop()` を明示的に呼び出してください。

```python theme={"system"}
sandbox = Sandbox.run()
sandbox.exec(["echo", "hello"]).result()
sandbox.stop().result()
```

安全策として、SDK は `atexit` とシグナル (Ctrl+C、`SIGTERM`) に対するグローバルなクリーンアップハンドラを登録します。これらのハンドラは [`Session`](/ja/products/sandboxes/client/guides/sessions) に属するサンドボックスを停止するため、セッションで管理されているサンドボックスは予期せず終了した場合でも停止されます。一方、`Sandbox.run()` で直接作成したサンドボックスはセッションに属さないため、プロセスの終了後も、明示的に停止するか有効期間が切れるまで実行され続けます。この動作を前提としたワークフローについては、[Sandboxes SDK で Claude Code を設定する](/ja/products/sandboxes/agents/claude-code#set-up-with-the-sandbox-sdk) を参照してください。

一括クリーンアップ、タグ付けの戦略、孤立したサンドボックスの復旧については、[クリーンアップパターンガイド](/ja/products/sandboxes/client/guides/cleanup-patterns) を参照してください。
