PID eines Prozesses ermitteln

ich habe dazu ein externes programm benutzt, das alle Prozesse auslesen kann, und diese anzeigt.

ich hatte dann eine art anzeige wie im taskmanager, mit prozess, PID, cpu% etc...
 
ich glaube, wie missverstehen uns. :confused:
In einer Javaapplikation starte ich einen Prozess. Zu diesem möchte ich die PID automatisch ermitteln, damit ich diese PID per Methode stoppen kann. Ich kann hierfür kein externes Programm verwenden. Ausserdem soll die Applikation auf unterschiedlichen Betriebssystemen laufen.

caruso
 
Hmmm, also so ad-hoc fällt mir dazu nix ein, was es gibt.

Ich könnte dir nen workaround vorschlagen:

Erweitere die abstract class process und bau eine ID-Varible mit ein.

so ungefähr

public class MeinProcess extends Process {

int processid=null;

public void setProcessID(int id) {
this.processid=id;
}

public int getProcessID() {
return this.processid;
}

......//andere funktionen
}



dann machst du :
MeinProcess myprocess=MeinProcess();
myprocess.setProcessID(1); //z.b. musst halt noch ne art counter mitzählen lassen.
myprocess=System.getRuntime().exec("c:\windows\notepad.exe");

beim killen holst du dir dann deinen process (über ne suche) und machst
myprocess.destroy();



Sprich du verwaltest selbst deine Prozess-ID's und führst deine Prozesse in ner liste, map oder sonst was mit..

Ist zwar etwas umständlich, aber dürfte gehen.


Grüsse

Torsten
 
Zurück