Task killen mit Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
bullrin
User
Beiträge: 10
Registriert: Samstag 5. Februar 2011, 23:49

das mit dem anschaun ist schwierig. mein notepad++ zeigt mir da leider keine Infos an.
Extra eine IDE installieren für ein paar Zeilen Code und ein wahrscheinlich für Python Kenner leicht geschriebenes Programm?
Die Psutil dokumenation hat den namen nicht verdient wenn das hier alles ist: http://code.google.com/p/psutil/wiki/Documentation
Zuletzt geändert von bullrin am Donnerstag 10. Februar 2011, 19:09, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

``dir(objekt)`` liefert dir welche Attribute ein Objekt hat. Alternativ auch ein Blick in den Quelltext. Ich denke nicht dass BlackJack eine IDE nutzt, um Python-Code zu bearbeiten, von daher wird er wohl auch kaum eine IDE gemeint haben :)

Und ich weiß nicht was du hast. Ich sehe in dieser vergleichsweise umfassenden Dokumentation durchaus die Methode ``terminate``. Vielleicht solltest du sie ja erstmal lesen bevor du dich beschwerst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
bullrin
User
Beiträge: 10
Registriert: Samstag 5. Februar 2011, 23:49

Code: Alles auswählen

    import psutil
ImportError: No module named psutil
Fängt ja klasse an. Habe das PSutil eigentlich gerade installiert. Wieso geht es also nicht?
Psutil ist hier C:\Program Files (x86)\Python27\Lib\site-packages
Sollte korrekt sein?

EDIT: Ich sehe in der Doku keine verfügbaren Funktionen für den Iterator.
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

da ich Python2.6 habe, habe ich folgendes heruntergeladen und installiert:
http://code.google.com/p/psutil/downloa ... e&can=2&q=

Und dann folgendes ausprobiert:

Code: Alles auswählen

In [20]: import psutil

In [21]: for p in psutil.process_iter():
   ....:     print p
   ....:
   ....:
psutil.Process (pid=0, name='System Idle Process')
psutil.Process (pid=4, name='System')
psutil.Process (pid=956, name='svchost.exe')
psutil.Process (pid=980, name='svchost.exe')
psutil.Process (pid=368, name='winlogon.exe')
und noch viele weitere. Auf all diese Objekte kannst du jetzt die folgenden Methoden aufrufen:
http://code.google.com/p/psutil/wiki/Do ... on#Classes

Was jetzt daran schwer ist kann ich leider nicht nachvollziehen.
bullrin
User
Beiträge: 10
Registriert: Samstag 5. Februar 2011, 23:49

sry aber ich hab mittlerweile einen recht einfachen Code gefunden:

Code: Alles auswählen

import os
os.system("taskkill /im Dateiname.exe /f")	
Ich weiß nicht wieso mir das niemand vorgeschlagen hat, aber das wäre doch die einfachste Variante gewesen?
2 Zeilen fertig. So hatte ich mir das vorgestellt.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Gremlin hat geschrieben:Unter Windows stoppe ich Prozesse mit Taskkill. Hilft das?
Kein Kommentar.
bullrin
User
Beiträge: 10
Registriert: Samstag 5. Februar 2011, 23:49

achso, wusste natürlich nicht das man so einen Befehl einfach mal in Python benutzen kann. Ist ja schließlich ne Microsoft Seite.

Sry aber ich hab 0 Plan von Python, hatte auch nicht unbedingt vor groß es zu lernen. 2-3 Sätze mehr zu Taskkill und das man es einfach mit os.system und paar Parametern erledigen kann hätten genügt und ich hätte es gecheckt.

Aber gut ich kann es verstehen, wenn mans in Python drauf hat kann man sich in meine Lage wohl nicht mehr hinein versetzen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

bullrin hat geschrieben:2 Zeilen fertig. So hatte ich mir das vorgestellt.
Weil die Lösung aus mehrerlei hinsicht schlecht ist. Erstens ist sie nicht portabel sprich tut nur auf Windows und selbst da nur auf Windows-Rechnern bei denen ``taskkill`` installiert ist, zweitens ist sie sehr grob - was ist wenn das Programm mehrmals gestartet ist, und drittens nutzt sie ``os.system`` was man zugunsten von ``subprocess.call`` heutzutage nicht mehr nutzen sollte.

Aber gut, ich kann es verstehten, wenn man neu in Python ist hat man vielleicht nicht unbedingt ein Auge für gute Lösungen. Gut dass dir hier geholfen werden kann :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten