From: yongsung1.kim Date: Thu, 10 Oct 2013 07:42:16 +0000 (+0900) Subject: [Title] Kill all running SDK processes before SDK uninstalling with X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b18e516d17751432b8bf2a7975ba50e7c2f4b2c;p=sdk%2Finstaller%2Finstall-manager.git [Title] Kill all running SDK processes before SDK uninstalling with CLI. [Issue] Redmine #10779 Change-Id: I7ebf6fb28f313196726597ae87002c53dd5c790f --- diff --git a/InstallManager_java/src/org/tizen/installmanager/cli/CliInstall.java b/InstallManager_java/src/org/tizen/installmanager/cli/CliInstall.java index 9356ead..918b3ea 100644 --- a/InstallManager_java/src/org/tizen/installmanager/cli/CliInstall.java +++ b/InstallManager_java/src/org/tizen/installmanager/cli/CliInstall.java @@ -258,7 +258,6 @@ public class CliInstall { Config.getInstance().saveSnapshotSettings(repo, Options.distribution, Options.serverType, Options.snapshotPath); } - PackageManager.dispose(); initInstallManager(); diff --git a/InstallManager_java/src/org/tizen/installmanager/cli/CliUninstall.java b/InstallManager_java/src/org/tizen/installmanager/cli/CliUninstall.java index a59f123..220dcf4 100644 --- a/InstallManager_java/src/org/tizen/installmanager/cli/CliUninstall.java +++ b/InstallManager_java/src/org/tizen/installmanager/cli/CliUninstall.java @@ -37,6 +37,7 @@ import org.tizen.installmanager.core.IMExitException; import org.tizen.installmanager.core.Performance; import org.tizen.installmanager.lib.Log; import org.tizen.installmanager.lib.Platform; +import org.tizen.installmanager.lib.ProgramController; import org.tizen.installmanager.pkg.lib.PackageManager; import org.tizen.installmanager.pkg.model.Package; import org.tizen.installmanager.pkg.model.PackageSet; @@ -65,6 +66,9 @@ public class CliUninstall { ViewController controller = new ViewController(); controller.init(); + //kill running process. + killRunningProcess(); + PackageManager pm = PackageManager.getInstance(); // Uninstall whole SDK. @@ -103,6 +107,22 @@ public class CliUninstall { } } + private static void killRunningProcess() { + ProgramController pcontroller = ProgramController.createProgramController(); + if (pcontroller.runningProgramExists()) { + System.out.println("Warning> The SDK is already running." + + " InstallManager will kill all SDK processes"); + pcontroller.terminateRunningProgram(); + if (pcontroller.runningProgramExists()) { + System.out.println("Fail to kill running SDK processes."); + Log.err("Fail to kill running SDK processes."); + } else { + System.out.println("Success to kill running SDK processes."); + Log.log("Success to kill running SDK processes."); + } + } + } + private static void clearTargetDir() { if (!Platform.isWindows()) { File targetDir = new File(Config.getInstance().getTargetDir());