使用 Java exec 后进程继续 运行
process continues to run after using Java exec
我有以下方法
public static void disableMobileDate()
{
try
{
Runtime rt = Runtime.getRuntime();
Process pr = null;
pr = rt.exec("C:\Program Files\Android\android-sdk\platform-tools\adb shell svc data disable");
System.out.println("### Data disabled on mobile device! ###");
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
每次我的程序 运行 使用此方法时,它都会在任务管理器中创建一个 adb.exe。 adb.exes(多个 adb.exe 进程)会一直保留到我关闭我的程序。有没有办法让命令执行成功后进程结束?
您可以在命令执行后调用pr.destroy()
。
或者您可以通过 taskkill
命令终止进程:
rt.exec("taskkill /F /IM adb.exe")
您可以通过执行 pr.destroy()
来终止进程。但是你应该监听出现的更新,一旦它打印出你正在寻找的内容,你就应该杀死它。获取输出的一种方法是 here.
我有以下方法
public static void disableMobileDate()
{
try
{
Runtime rt = Runtime.getRuntime();
Process pr = null;
pr = rt.exec("C:\Program Files\Android\android-sdk\platform-tools\adb shell svc data disable");
System.out.println("### Data disabled on mobile device! ###");
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
每次我的程序 运行 使用此方法时,它都会在任务管理器中创建一个 adb.exe。 adb.exes(多个 adb.exe 进程)会一直保留到我关闭我的程序。有没有办法让命令执行成功后进程结束?
您可以在命令执行后调用pr.destroy()
。
或者您可以通过 taskkill
命令终止进程:
rt.exec("taskkill /F /IM adb.exe")
您可以通过执行 pr.destroy()
来终止进程。但是你应该监听出现的更新,一旦它打印出你正在寻找的内容,你就应该杀死它。获取输出的一种方法是 here.