[pyar] Pasar datos de un proceso a otro en Linux?

Manuel Naranjo naranjo.manuel en gmail.com
Vie Ago 27 16:37:31 ART 2010


>>   Parece medio ineficiente no? Más que nada por la parte de que hay que
>> limpiar el buffer me parece. Alguien sabe si el kernel va a limpiar la
>> tubería por mi?
>>      
> Y tenes que implementar todo el protocolo a mano. Es mas facil usar un
> mecanismo de IPC de nivel un poco mas alto.
>    
Acá lo tengo limpio y terminado:
import os

def write_to_pipe(name, content):
     if name not in write_to_pipe.pipes:
         try:
             fp = os.open(name, os.O_NONBLOCK|os.O_WRONLY)
             write_to_pipe.pipes[name] = fp
         except:
             // no hay nadie del otro lado, y bue ya fue
             return
     try:
         os.write(write_to_pipe.pipes[name], content)
     except:
         // de nuevo no hay nadie, y bue ya fue
         return

write_to_pipe.pipes = {}

No tengo protocolo alguno, sé que cada vez que aparecen datos en ese 
pipe son frames jpeg (empiezan con 0xffd8 y terminan con 0xffd9), lo 
bueno es que también es eficiente en recursos, ya que si no hay nadie 
del otro lado la llamada falla y listo.

Manu



More information about the pyar mailing list