我编写了一个流程管理器程序,它所做的一件事就是在关闭时退出所有正在运行的流程 ,所以有代码
public void stop_all() throws IOException {
Process p = Runtime.getRuntime().exec("kill -9 -1");
System.out.println("killed");
}
并且按钮上有操作
private void exitButton(java.awt.event.ActionEvent evt) {
Run ob = new Run();
try {
ob.stop_all();
} catch (IOException ex) {
Logger.getLogger(mainmenu.class.getName()).log(Level.SEVERE, null, ex);
}
this.dispose();
}
我不知道它为什么不起作用, 我在终端执行该命令,它工作正常
请帮助:)
答案 0 :(得分:0)
我仍然对程序的权限持怀疑态度。但是,从这个reference开始,您需要在exec()中指定命令路径。
所以你的代码应该是:
public void stop_all() throws IOException {
Process p = Runtime.getRuntime().exec("/bin/kill -9 -1");
System.out.println("killed");
}