Hallo!
Leider habe ich ein Problem mit dem Auslesen von Prozessen, die ich dann, wenn si enicht da sind beenden möchte und wenn der Prozess anwesend ist möchte ich ihn killen. Möchte es einfach mal in einer Testklasse testen und dann später diese Methoden aus anderen Programmen aus ausrufen.
Wäre dankbar für nützliche Tips, ich bin icht so der erfahrende Java-Mann.
Grüße
Holger
Leider habe ich ein Problem mit dem Auslesen von Prozessen, die ich dann, wenn si enicht da sind beenden möchte und wenn der Prozess anwesend ist möchte ich ihn killen. Möchte es einfach mal in einer Testklasse testen und dann später diese Methoden aus anderen Programmen aus ausrufen.
Wäre dankbar für nützliche Tips, ich bin icht so der erfahrende Java-Mann.
Code:
public class ProcessView2 implements Runnable {
public static String getProcessTable(String process) {
try {
Process p = Runtime.getRuntime().exec("cmd /c tasklist /v");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream( )));
for(String pt; (pt = in.readLine()) != null;){
//System.out.println(pt);
if (pt.trim().contains("notepad++.exe")) {
System.out.println(pt);
return "notepad++.exe";
}
}
in.close();
}
catch (IOException e) {
e.printStackTrace();
}
return "not found";
}
public static void main(String[] args){
System.out.println(getProcessTable("process"));
}
public void getDestroy(){
String pt_2 = ProcessView2.getProcessTable("process");
try{
if(pt_2.equals("notepad++.exe"))
Runtime.getRuntime().exec("cmd /c taskkill / IM " + pt_2);
}
catch (IOException e) {
e.printStackTrace();
}
}
public void run(){
String pt_2 = ProcessView2.getProcessTable("process");
try{
if(pt_2.equals("not found"))
Runtime.getRuntime().exec("cmd /c start " + pt_2);
}
catch (IOException e) {
e.printStackTrace();
}
}
}
Grüße
Holger