Wie finde ich heraus ob eine bestimme Anwendung gerade läuft

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.
linuxinho2
User
Beiträge: 8
Registriert: Samstag 23. Februar 2008, 12:49

Wie finde ich heraus ob eine bestimme Anwendung gerade läuft

Beitragvon linuxinho2 » Montag 28. April 2008, 11:59

Hallo, an das Forum!

Kämpfe mich tapfer in den Python Dschungel vor.

Leider stehe ich zur Zeit vor einer Schlucht und finde keinen Weg über diese. :?: :D

Wie kann ich festestellen ob eine bestimmte Anwendung (z.B. Kwrite, Vlc, etc) gerade aktiv ist.

DANKE!
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Montag 28. April 2008, 12:32

Hallo,

bei KDE-Programmen geht das am einfachsten über DCOP (KDE 3.x) oder DBUS (KDE 4.x). Ansonsten müßtest Du mal gucken, ob ps etwas brauchbares liefert. Ob man direkt auf eine Prozessliste mit Python zugreifen kann, wüßte ich nicht, wage ich aber zu bezweifeln!
linuxinho2
User
Beiträge: 8
Registriert: Samstag 23. Februar 2008, 12:49

Was sagen die die Profis zu meiner Lösung?

Beitragvon linuxinho2 » Montag 28. April 2008, 12:37

Code: Alles auswählen

os.system('ps x > pid.txt')

pidtxt = open('pid.txt','r').readlines()

for x in pidtxt:
   if 'kaffeine' in x:
      print x

>>>>>> 8271 ?        Sl     5:14 kaffeine mms://vBD8620D4B72011gcsj2w07739FA61.proxitv.speednet.at/WSX/oe3_live


Irgendwie umständlich :?: , kennt jemand eine andere Lösung?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Montag 28. April 2008, 12:40

Ich habe Dir doch grad DBUS / DCOP empfohlen!
linuxinho2
User
Beiträge: 8
Registriert: Samstag 23. Februar 2008, 12:49

Sorry, das hat sich jetzt irgendwie überschnitten ...

Beitragvon linuxinho2 » Montag 28. April 2008, 12:44

Danke für deine Antwort!


Sorry, deine Antwort war noch nicht das, als ich neu gepostet habe.

Nochmals, Sorry!
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Montag 28. April 2008, 12:53

Ich mach das in der Konsole immer so:
[code=]> ps -e | grep emacs
4579 ? 00:00:41 emacs[/code]
Kannste an subprocess verfuettern... :)

Edit:

Code: Alles auswählen

>>> from subprocess import Popen, PIPE
>>> output = Popen(["ps", "-e", "-o", "cmd"], stdout=PIPE).communicate()[0]
>>> "emacs" in output
True
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
linuxinho2
User
Beiträge: 8
Registriert: Samstag 23. Februar 2008, 12:49

Ja, das ist es ...

Beitragvon linuxinho2 » Montag 28. April 2008, 13:22

Danke!

das funzt,

Cool!

HERZLICHEN DANK!

Muss noch viel lernen! :D
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 28. April 2008, 20:40

Ja, aber das ist auch nicht multiuser-safe. An einigen Rechnern sind bei mir mehrere Leute gleichzeitig angemeldet, mit eigenen Firefox instanzen. Firefox prüft aber vorher ob es bereits geladen ist. Also sollte man das etwas schlauer implementieren und die Prozesse die von anderen Usern gestartet sind vorher ausfiltern.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: __deets__