6. การออกจากแซนด์บ็อกซ์
คุณต้องปรับวิธีสิ้นสุดแซนด์บ็อกซ์และ Sandboxee ด้วย ทั้งนี้ขึ้นอยู่กับวิธีที่คุณเรียกใช้แซนด์บ็อกซ์ (ดูขั้นตอนนี้)
การออกจากแซนด์บ็อกซ์ที่ทำงานแบบพร้อมกัน
หากแซนด์บ็อกซ์ทำงานแบบซิงโครนัส Run จะแสดงผลเมื่อ Sandboxee เสร็จสิ้นเท่านั้น ดังนั้นจึงไม่จำเป็นต้องดำเนินการเพิ่มเติมเพื่อสิ้นสุดการให้บริการ ข้อมูลโค้ดด้านล่างแสดงสถานการณ์นี้
Sandbox2::Result result = s2.Run();
LOG(INFO) << "Final execution status: " << result.ToString();
การออกจากแซนด์บ็อกซ์ที่ทำงานแบบไม่พร้อมกัน
หากแซนด์บ็อกซ์ทำงานแบบไม่พร้อมกัน คุณจะมีตัวเลือก 2 อย่างในการสิ้นสุดการทำงาน ก่อนอื่น คุณสามารถรอให้ Sandboxee เสร็จสมบูรณ์และรับสถานะการดำเนินการสุดท้ายได้โดยทำดังนี้
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();
หรือคุณจะปิด Sandboxee ได้ทุกเมื่อ แต่เรายังคง
แนะนําให้เรียกใช้ AwaitResult()
เนื่องจาก Sandboxee อาจสิ้นสุด
ด้วยเหตุผลอื่นในระหว่างนี้
s2.Kill();
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();