6. सैंडबॉक्स से बाहर निकलना

सैंडबॉक्स को चलाने के तरीके के आधार पर (यह चरण देखें), आपको सैंडबॉक्स को बंद करने के तरीके में बदलाव करना होगा. इसलिए, Sandboxee को भी बंद करने के तरीके में बदलाव करना होगा.

सिंक किए गए सैंडबॉक्स से बाहर निकलना

अगर सैंडबॉक्स को सिंक्रोनस तरीके से चलाया जा रहा है, तो Run फ़ंक्शन सिर्फ़ तब वैल्यू देगा, जब Sandboxee की प्रोसेस पूरी हो जाएगी. इसलिए, खाता बंद करने के लिए कोई अतिरिक्त चरण पूरा करने की ज़रूरत नहीं है. नीचे दिए गए कोड स्निपेट में इस स्थिति को दिखाया गया है:

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

एसिंक्रोनस तरीके से चल रहे सैंडबॉक्स से बाहर निकलना

अगर सैंडबॉक्स एसिंक्रोनस तरीके से चल रहा है, तो उसे बंद करने के लिए दो विकल्प उपलब्ध हैं. सबसे पहले, 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();