Java:如何找到另一个程序的进程ID?
我想知道如何找到另一个程序的进程ID。(非爪哇语) 当我开始编写程序时,我认为.exe的进程保持不变,但当我的程序失败时,我重新检查并意识到它改变了 我在互联网上尝试了许多不同的方法,但没有一个是以非java程序为目标的 这是我目前的代码:Java:如何找到另一个程序的进程ID?,java,eclipse,process,pid,Java,Eclipse,Process,Pid,我想知道如何找到另一个程序的进程ID。(非爪哇语) 当我开始编写程序时,我认为.exe的进程保持不变,但当我的程序失败时,我重新检查并意识到它改变了 我在互联网上尝试了许多不同的方法,但没有一个是以非java程序为目标的 这是我目前的代码: try { System.out.println("DefaultButton Pressed"); Runtime.getRuntime().exec("tas
try {
System.out.println("DefaultButton Pressed");
Runtime.getRuntime().exec("taskkill /F /PID "+processID);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Failed to kill the process");
e.printStackTrace();
}
当我按下一个按钮时,这个代码试图终止进程
我有代码试图获取PID,但也失败了
我尝试过获取PID,但它获取了我的进程ID(duh)。我一直试图将代码更改为不同的非java程序,但代码仍然不起作用
String processID= ManagementFactory.getRuntimeMXBean().getName();
System.out.println("Process ID for this app = " + processID);
同样,这是获取自己代码的代码
我不能使它适应工作
我甚至可以得到另一个非java进程的PID吗
编辑1
这是我的新代码
Process processIdRaw;
try{
processIdRaw = Runtime.getRuntime().exec("tasklist /m | find \"<processname>" ");
System.out.println("Aquired PID");
}
catch(IOException e){
e.printStackTrace();
}
int processID = Integer.parseInt(processIdRaw);
System.out.println("PID:"+processID);
processprocessidraw;
试一试{
processIdRaw=Runtime.getRuntime().exec(“任务列表/m|find\”);
System.out.println(“获取的PID”);
}
捕获(IOE异常){
e、 printStackTrace();
}
int processID=Integer.parseInt(processIdRaw);
System.out.println(“PID:+processID”);
这个代码在我的其他代码之前。另一个代码位于上述代码之后
我认为类型Process
不适用于intprocessid=Integer.parseInt(processIdRaw)代码>
我添加了.parseInt
,因为我认为它可以从输出中找到数字
由于类型进程
之前出现的错误,我无法找到使PID工作的方法,但是
Runtime.getRuntime().exec("taskkill /F /IM <processname>.exe")
Runtime.getRuntime().exec(“taskkill/F/IM.exe”)
工作
try {
System.out.println("DefaultButton Pressed");
Runtime.getRuntime().exec("taskkill /F /IM <processname>");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Failed to kill the process");
e.printStackTrace();
}
试试看{
System.out.println(“按下默认按钮”);
Runtime.getRuntime().exec(“taskkill/F/IM”);
}捕获(IOE异常){
//TODO自动生成的捕捉块
System.out.println(“未能终止进程”);
e、 printStackTrace();
}
查找进程名称的步骤
1:运行你想杀死的程序
2:运行CMD
3:运行命令tasklist
4:获取进程名称我找不到使PID工作的方法,但是
Runtime.getRuntime().exec("taskkill /F /IM <processname>.exe")
Runtime.getRuntime().exec(“taskkill/F/IM.exe”)
工作
try {
System.out.println("DefaultButton Pressed");
Runtime.getRuntime().exec("taskkill /F /IM <processname>");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Failed to kill the process");
e.printStackTrace();
}
试试看{
System.out.println(“按下默认按钮”);
Runtime.getRuntime().exec(“taskkill/F/IM”);
}捕获(IOE异常){
//TODO自动生成的捕捉块
System.out.println(“未能终止进程”);
e、 printStackTrace();
}
查找进程名称的步骤
1:运行你想杀死的程序
2:运行CMD
3:运行命令tasklist
4:获取进程名称