Seite 1 von 1

Checken ob IE läuft

Verfasst: Freitag 12. September 2014, 11:36
von mrniceguy
Halli Hallo,

ich würde gern mit einem Skript überprüfen, ob der IE läuft. Muss ich die Prozesse checken ? Wenn ja wie ? Oder gibts eine andere Lösung.

Vielen Dank im voraus !

Re: Checken ob IE läuft

Verfasst: Freitag 12. September 2014, 12:04
von BlackJack
@mrniceguy: Mit dem `psutil`-Modul könnte man das so machen: ``any(p.name() == 'iexplore' for p in psutil.process_iter())``

Wozu brauchst Du das denn?

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 12:03
von darktrym
Vermutlich um anschließend den IE abzuschießen.

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 12:34
von BlackJack
In dem Fall (ungetestet):

Code: Alles auswählen

    for process in psutil.process_iter():
        if process.name() == 'iexplore':
            process.terminate()

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 14:42
von /me
darktrym hat geschrieben:Vermutlich um anschließend den IE abzuschießen.
Das klingt grundsätzlich wie eine gute Idee. :mrgreen:

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 17:13
von darktrym
Bild

:(

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 17:53
von BlackJack
@darktrym: Dann müsste man halt die Ausnahme behandeln um die Prozesse für die man nicht genug Rechte besitzt zu ignorieren. Prozesse von denen man nicht einmal den Namen abfragen darf, kann man ziemlich sicher auch nicht beenden. ;-)

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 18:12
von darktrym
Wie du am Fenstertitel sehen kannst, war ich Admin.
Folgender Code geht im Übrigen, schnell aus der Doku zusammengebastelt:

Code: Alles auswählen

import psutil

for proc in psutil.process_iter():
    try:
        pinfo = proc.as_dict(attrs=['pid', 'name'])
    except psutil.NoSuchProcess:
        pass
    else:
        if pinfo['name'] == u'iexplore.exe':
            p = psutil.Process(pinfo['pid'])
            p.terminate()

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 18:53
von BlackJack
@darktrym: Hatte ich nicht gesehen, macht aber keinen Unterschied denn auch ein Administrator darf nicht alles solange er nicht die nötigen Rechte hat. Admin unter Windows ist von Haus aus nicht so ”mächtig” wie Root unter Unix.

Edit: Das sieht ein wenig umständlich aus denn mit `proc` hast Du das Prozess-Objekt ja schon wofür Du aus der PID aus dem Wörterbuch noch mal ein neues `Process`-Objekt erstellst.

Re: Checken ob IE läuft

Verfasst: Samstag 13. September 2014, 19:03
von darktrym
Gut, eine Zeile weniger. Erklärt aber nicht das merkwürdige Verhalten vorallem weil name() gerade diese Exception auslöst. Als normaler User geht der gezeigte Code ja auch durch.

Re: Checken ob IE läuft

Verfasst: Mittwoch 17. September 2014, 08:22
von mrniceguy
Danke euch für die Antworten ich werds mal ausprobieren.
Sollte Privat für mich sein. Bin gerade dabei Python zu lernen und hab mir ne kleine Aufgabe zusammengebastelt an der ich arbeite wenn ich Zeit finde :)