xellon Geschrieben 7. Februar 2003 Geschrieben 7. Februar 2003 Hi, es ist schwer einen aussagekräftigen Betreff zu formulieren(zumindest für mich), aber hoffe das trotzdem jemand mal rein guckt und mir vieleicht helfen kann. So, und jetzt zu meinem problem: Ich habe ein kleines modul geschrieben(mit eure hilfe:-D), der prüffen soll ob eine bestimmte anwendung schon läuft und das tut er auch. Ich wollte es aber mit eine eigene anwendung testen und da tratt das problem ein. Also, ich lasse mir alle laufende processe mit 'ps -aux' in einen InputStream ausgeben und dann suche ich nach einen doppelgänger meiner anwendung. Wenn ich aber meinen test program so: 'java HelloWorld' starte dann liefert mir 'ps -aux' 11 processe mit dem namen HelloWorld. Kann mir jemand helfen? Zitieren
Schlaubi Geschrieben 10. Februar 2003 Geschrieben 10. Februar 2003 wäre einfacher wenn du mal den Code deines Programmes posten würdest - kann ja auch pseudocode sein, aber ich kann mir sonst nix vorstellen - tut mir leid. Zitieren
Schlaubi Geschrieben 10. Februar 2003 Geschrieben 10. Februar 2003 wäre einfacher wenn du mal den Code deines Programmes posten würdest - kann ja auch pseudocode sein, aber ich kann mir sonst nix vorstellen - tut mir leid. Zitieren
xellon Geschrieben 10. Februar 2003 Autor Geschrieben 10. Februar 2003 Hi! Hier mein quelltext: import java.io.*; import java.lang.*; class PSCheck { static boolean CheckProc(String str) { int anzahl = 0; try { Process pr = Runtime.getRuntime().exec("ps -aux"); InputStream is = pr.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String erg = br.readLine(); while(erg != null) { if(erg.indexOf(str) >= 0) { anzahl++; } erg = br.readLine(); } }catch(IOException e) { System.out.println("Fehler!!!"); } if(anzahl > 1) { return true; }else{ return false; } } }[/PHP] Zitieren
SgtBadAzz Geschrieben 11. Februar 2003 Geschrieben 11. Februar 2003 Originally posted by xellon Hi! Hier mein quelltext: import java.io.*; import java.lang.*; class PSCheck { static boolean CheckProc(String str) { int anzahl = 0; try { Process pr = Runtime.getRuntime().exec("ps -aux"); }[/PHP] [/b] Mich wundert, dass es ueberhaupt geht, du hast ja kein Main in deinem Programm. Hast du da was vergessen ? Frank Zitieren
Jaraz Geschrieben 11. Februar 2003 Geschrieben 11. Februar 2003 Hi, er hat wohl nur die benötigte Klasse um die es geht gepostet. Reicht ja auch. Originally posted by xellon Wenn ich aber meinen test program so: 'java HelloWorld' starte dann liefert mir 'ps -aux' 11 processe mit dem namen HelloWorld. Von Anfang an? Oder kommt nach jedem Programmstart einer hinzu? Im zweiten Fall schätze ich mal das du dein Programm nicht richtig beendest oder der mit Runtime angestoßene Prozess noch läuft. Poste doch mal die ps Ausgabe mit den Zeilen die sich auf Java beziehen. Gruß Jaraz Zitieren
SgtBadAzz Geschrieben 11. Februar 2003 Geschrieben 11. Februar 2003 Originally posted by xellon Hi, es ist schwer einen aussagekräftigen Betreff zu formulieren(zumindest für mich), aber hoffe das trotzdem jemand mal rein guckt und mir vieleicht helfen kann. So, und jetzt zu meinem problem: Ich habe ein kleines modul geschrieben(mit eure hilfe:-D), der prüffen soll ob eine bestimmte anwendung schon läuft und das tut er auch. Ich wollte es aber mit eine eigene anwendung testen und da tratt das problem ein. Also, ich lasse mir alle laufende processe mit 'ps -aux' in einen InputStream ausgeben und dann suche ich nach einen doppelgänger meiner anwendung. Wenn ich aber meinen test program so: 'java HelloWorld' starte dann liefert mir 'ps -aux' 11 processe mit dem namen HelloWorld. Kann mir jemand helfen? Also ich habe das eben mal auf SUN Solaris probiert und ich habe nur einen Prozess. Start doch einfach mal ein einfaches Hello World und lass dir die Prozesse auf einer anderen Konsole ausgeben und ueberpruefe ob da auch dieser Effekt auftritt. Frank :marine Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.