On Sat, Aug 29, 2009 at 01:13:12PM -0700, Joni Lee wrote: > Hi all, > > I write a small script > > status = os.popen('top').readlines() > print status > > It calls the command line "top" and will print out the status. > But I have to press the keyboard "q" to quit "top", then the status > will be printed, otherwise it just stands by with blank. > > Question is. Do you know how to give "q" into my python script so that > "top" is automatically quit immediately or maybe after 1s (for > gathering information) >
Why not run the actual 'top' command in batch mode with only one iteration? It's in the man page. I'm referring to this: status = os.popen('top -b -n 1').readlines() Also, the following approach seems to display a nicer output: ------------------------------------------------- #!/usr/bin/env python import os status=os.popen('top -b -n 1') for i in status.readlines(): print i ------------------------------------------------- Or how about the following? ------------------------------------------------- #!/usr/bin/env python import commands status=commands.getoutput('top -b -n 1') print status ------------------------------------------------- Mind you, I'm just suggesting different approaches. I'm new to Python and don't necessarily know what I'm doing. Other more experienced people may be able to suggest something better. -- http://mail.python.org/mailman/listinfo/python-list