Portál AbcLinuxu, 10. května 2025 02:06
#!/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.