我正在尝试找到一种编程方式来打开和关闭应用程序的方法。我可以使用
轻松启动应用程序 Runtime.getRuntime().exec(new String[] {"open", "<path to application>"});
然而,我能找到关闭它的唯一方法是使用
行 Runtime.getRuntime().exec(new String[] {"kill", "<process id#>"});
除了手动打开终端并使用top找到#之外,我无法找到id#。如果有一种程序化的方式来获取此ID,或者只是更好的方式来打开和关闭应用程序,我很乐意听到它。
由于
答案 0 :(得分:3)
使用java.lang.ProcessBuilder
启动子流程。返回的Process
对象有一个destroy()
方法可以让你杀死它。
答案 1 :(得分:0)
这可能与原始海报不相关(由于已用时间),但仅仅是为了完整...
由于exec(...)
命令,您获得了进程对象的句柄:
Process myProcess = Runtime.getRuntime().exec("mybin");
然后您可以使用destroy()
myProcess.destroy();
注意:这可能类似于Jim所描述但不使用ProcessBuilder
。