Capture file descriptors while running an external program

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jfigueiras@sapo.pt

    #1

    Capture file descriptors while running an external program

    >I have a problem with the module subprocess!
    >The problem is that the external software that I am running under
    >subprocess.Pop en opens stdin, stdout, stderr, and other file descriptors to
    >write and read in the hard drive.
    As many other programs...
    >I know how to capture stdin, stdout and stderr, what I cannot do is to capture
    >the other file-descriptors. Is there any way to wrap those non-standard file
    >descriptors and make them write and read from a specific object that I define?
    >I know that I can use tmp files to do that, but i would like something running
    >without tmp files.
    I'm not sure what you mean by "non-standard file descriptors". The
    other program is free to open, read, write, etc any file he wants -
    are you trying to trap any file operation it may want to do?
    You *could* do such things -google for "code injection" and "API
    hooking"- but I doubt it's what you really want.

    --
    Gabriel Genellina
    Softlab SRL

    Hi Gabriel!

    When I wrote "non-standard file descriptors", I meant the file descriptior which
    are pointed to files in the hardrive.
    What I would like to do is not to trap any file operation, but instead intercept
    that file operation, i.e. I would like the output of the external program to
    don't be writen in a file (its normal behavior), but instead be sent to any
    variable in my program.
    I know the name of the file where the external program will write the output.. I
    pass its name along the command line.

    Joao Figueiras

    _______________ _______________ _______________ _______________ _______

    O SAPO já está livre de vírus com a Panda Software, fique você também!
    Clique em: http://antivirus.sapo.pt

Working...