private void SafelyCloseProcess(ContainerProcess containerProcess) { var processToClose = containerProcess.Process; if (!processToClose.HasExited && !processToClose.CloseMainWindow()) { processToClose.Kill(); } else { processToClose.Close(); } if (this.containerProcessDictByPort.TryRemove(containerProcess.Port, out var container)) { Debug.WriteLine($"{typeof(ProcessManager).Name}: removed container[{container.Port}] ({DateTime.Now})"); if (container.RoleInstance != null) { RoleEnvironment.SafeRemove(container.RoleInstance); } } }
public ContainerProcessTests() { Process = Substitute.For<IProcess>(); ContainerProcess = new ContainerProcess(Process); }