6. Sal de la zona de pruebas
Según cómo ejecutes la zona de pruebas (consulta este paso), debes ajustar la forma en que finalizas la zona de pruebas, es decir, también la zona de pruebas.
Sal de una zona de pruebas que se ejecuta de forma síncrona
Si la zona de pruebas se ejecutó de forma síncrona, la ejecución solo se mostrará cuando finalice la zona de pruebas. Por lo tanto, no se requiere ningún paso adicional para la rescisión. En el siguiente fragmento de código, se muestra esta situación:
Sandbox2::Result result = s2.Run();
LOG(INFO) << "Final execution status: " << result.ToString();
Sal de una zona de pruebas que se ejecuta de forma asíncrona
Si la zona de pruebas se ejecutó de forma asíncrona, hay dos opciones disponibles para la finalización. Primero, puedes esperar a que se complete la zona de pruebas y recibir el estado de ejecución final:
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();
Como alternativa, puedes finalizar Sandboxee en cualquier momento, pero de todos modos se recomienda que llames a AwaitResult()
, ya que este podría finalizar por otro motivo mientras tanto:
s2.Kill();
sandbox2::Result result = s2.AwaitResult();
LOG(INFO) << "Final execution status: " << result.ToString();