Portál AbcLinuxu, 25. dubna 2024 23:48
#!/usr/bin/env python import gtk, gobject, subprocess, sys, time class TOPwatch: def __init__(self): cmd = ['top', '-b', '-d', '3'] process = subprocess.Popen(cmd, stdout = subprocess.PIPE) gobject.io_add_watch(process.stdout, gobject.IO_IN, self.newdata) w = gtk.Window() w.connect('destroy', gtk.main_quit) w.show() gtk.main() def newdata(self, fd, condition): print time.asctime(), 'new data!' sys.stdout.write(fd.readline()) return True top = TOPwatch()Pomocí gobject.io_add_watch vyvolávám událost, jestliže jsou k dispozici nějaká data ke čtení. Je možné také přidat podmínku pro sledování, zda se dají nějaká data zapsat, což by znamenalo, že se objevil potvrzovací dotaz. Ale to nemám vyzkoušené.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.