6. Thoát khỏi hộp cát

Tuỳ thuộc vào cách bạn chạy hộp cát (xem bước này), bạn phải điều chỉnh cách chấm dứt hộp cát và do đó cũng là Hộp cát.

Thoát khỏi hộp cát đang chạy đồng bộ

Nếu hộp cát đang chạy một cách đồng bộ thì Run (Chạy) sẽ chỉ trả về khi Sandboxee đã hoàn tất. Do đó, bạn không cần phải thực hiện thêm bước nào để chấm dứt. Đoạn mã dưới đây cho thấy trường hợp này:

Sandbox2::Result result = s2.Run();
LOG(INFO) << "Final execution status: " << result.ToString();

Thoát khỏi hộp cát chạy không đồng bộ

Nếu hộp cát đang chạy không đồng bộ thì có hai tuỳ chọn để kết thúc. Trước tiên, bạn chỉ cần đợi Sandboxee hoàn tất và nhận được trạng thái thực thi cuối cùng:

sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();

Ngoài ra, bạn có thể tắt Sandboxee bất cứ lúc nào. Tuy nhiên, bạn vẫn nên gọi AwaitResult() vì Sandboxee có thể chấm dứt vì một lý do khác trong thời gian chờ đợi:

s2.Kill();
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();