# PID eines Prozesses ermitteln



## Caruso_Nix (23. November 2004)

Hallo, 
weiss jemand, wie ich die PID des Prozesses ermitteln kann?

Process p = Runtime.getRuntime().exec(command);

caruso


----------



## hankenberge (23. November 2004)

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...


----------



## Caruso_Nix (23. November 2004)

ein programm bringt mir nichts. ich muss das in Java ermitteln, damit ich den prozess killen kann.

caruso


----------



## hankenberge (23. November 2004)

ok, ich habe dieses programm auch zum killen des prozesse benutzt....

schau dir mal folgendes an...

http://www.beyondlogic.org/solutions/processutil/processutil.htm


----------



## Caruso_Nix (23. November 2004)

ich glaube, wie missverstehen uns.  
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


----------



## hankenberge (23. November 2004)

alles klar...
sach nichts mehr


----------



## torsch2711 (23. November 2004)

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


----------

