how to capture os.execvp into variable

Ben C spamspam at spam.eggs
Thu Mar 30 00:40:51 CEST 2006


On 2006-03-28, s99999999s2003 at yahoo.com <s99999999s2003 at yahoo.com> wrote:
> hi
> i am using this code to run a ps command in unix
>
> def run(program, *args):
>     pid = os.fork()
>     if not pid:
>         os.execvp(program, (program,) +  args)
>     return os.wait()[0]
>
> run("ps", "-eo pid,ppid,args")
>
> It runs fine, but i wish to store the results into a variable....how
> can i do this ? I tried
> to put ret=os.execvp(program, (program,) +  args) but ret has no value
> thanks

Do you mean you want the output of ps? That seems most likely. In that
case use os.popen.

    p = os.popen("ps -eo pid,ppid,args")
    output = p.read()
    p.close()



More information about the Python-list mailing list