[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