vana Geschrieben 19. Mai 2009 Teilen Geschrieben 19. Mai 2009 (bearbeitet) Hallo, ich habe ein kleines Problem: Wenn ich mehrere Prozesse mit dem selben Namen habe, wie kann ich den Pfad von dem er gestartet wurden heruasfinden? Ich will über ein Script nur 1 beenden. Bei: system("taskkill /f /im test.exe"); werden alle beendet. z.B. ich habe 3x test.exe 1. C:\test.exe 2. C:\test\test.exe 3. D:\test.exe --> 3 laufende Prozesse mit selbem Name. Ich möchte jetzt herausfinden welcher dieser 3 C:\test.exe ist und den beenden. Ich hoffe ihr könnt mir helfen. Danke schonmal Bearbeitet 19. Mai 2009 von vana Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0815FIA Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 Naja den Pfad brauchst du gar nicht, das kannst du auch über die Process ID machen: Process ex; Process[] pSearch; int processID; void Start() { ex = Process.Start(pfad); processID = ex.Id; } void Stop() { pSearch = GetProcessById(processID); foreach(Process p in pSearch) p.Kill(); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
vana Geschrieben 20. Mai 2009 Autor Teilen Geschrieben 20. Mai 2009 Ich kann es nicht über die PID machen, da diese sich bei jedem Neustart des Programmes ändert. Daher dachte ich, dass es möglich ist den Pfad herauszufinden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0815FIA Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 ähm, das verstehe ich jetzt nicht... gerade die tatsache, das du 3 verschiedene IDs hast, ermöglicht es dir doch erst, dieses problem über die ID zu lösen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
0815FIA Geschrieben 20. Mai 2009 Teilen Geschrieben 20. Mai 2009 achso, irgendwie hab ich überlesen, das du die prozesse nicht selber gestartet hast ^^ Process[] pSearch; String path; String qpPath; qpPath = "C:/test.exe"; pSearch = Process.GetProcessesByName("test"); foreach(Process p in pSearch) { path = p.MainModule.FileName; if(path == qpPath) p.Kill(); } so müsste es gehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
vana Geschrieben 20. Mai 2009 Autor Teilen Geschrieben 20. Mai 2009 Danke für deine Hilfe. Leider sind meine Kentniss relativ begrenzt und damit komme ich nicht klar. Kannst du mir das bitte mal erklären bzw kommentieren und/oder den kompletten Code posten? Ich hoffe, dass es dir nicht zuviel Arbeit macht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.