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