Articles of ipc

¿Se pueden compartir los objetos de socket con el multiprocesamiento de Python? socket.close () no parece estar funcionando

Estoy escribiendo un servidor que usa multiprocessing.Process para cada cliente. socket.accept () se llama en un proceso principal y el objeto de conexión se presenta como un argumento al Proceso. El problema es que al llamar a socket.close () el socket no parece estar cerrando. El recv () del cliente debe regresar inmediatamente después de […]

Proceso de Python bifurcado por NodeJS – ¿Alternativa a process.send () para Python?

Estoy forking un script de Python con NodeJS y cuando se bifurca, de forma predeterminada, NodeJS crea un IPC entre este nuevo proceso y el principal. Con NodeJS, para enviar un mensaje de un hijo al padre, hago process.send({msg : ‘toto’}) ¿Cómo puedo hacer eso con Python? http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

Python – OSError 24 (demasiados archivos abiertos) y memoria compartida

Enfrenté el problema, había una excepción OSError 24 (“Demasiados archivos abiertos”) planteada en mi Mac OS X en el script de Python. No tenía idea de lo que podría causar ese problema. lsof -p mostró aproximadamente 40-50 líneas, y mi ulimit fue 1200 (verifico que usando resource.getrlimit(resource.RLIMIT_NOFILE) ), que devolvió la tupla (1200, 1200). Así […]

Pasando un Pipe / Connection como contexto arg a multiproceso Pool.apply_async ()

Quiero usar tuberías para hablar con las instancias de proceso en mi grupo, pero recibo un error: Sea __p una instancia de Pool (): (master_pipe, worker_pipe) = Pipe() self.__p.apply_async(_worker_task, (handler_info, context_info, worker_pipe)) Cuando ejecuto esto, obtengo el siguiente error [para cada instancia, obviamente]: File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py”, line 376, in get task = get() File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py”, line […]

Rápida comunicación IPC / Socket en Java / Python

Dos procesos (Java y Python) deben comunicarse en mi aplicación. Noté que la comunicación de socket toma el 93% del tiempo de ejecución. ¿Por qué la comunicación es tan lenta? ¿Debería estar buscando alternativas a la comunicación por socket o puedo hacer esto más rápido? Actualización: descubrí una solución simple. Parece que el flujo de […]

¿Cómo utilizar los transportes inproc e ipc de Zeromq?

Soy un novato en ZERMQ. ZeroMQ tiene transportes TCP, INPROC e IPC. Estoy buscando ejemplos usando python e inproc en Winx64 y python 2.7, que también se podrían usar para Linux. Además, he estado buscando métodos de transporte UDP y no puedo encontrar ejemplos. El único ejemplo que encontré es import zmq import zhelpers context […]

¿Puede un script de Python saber que se está ejecutando otra instancia del mismo script … y luego hablar con él?

Me gustaría evitar que se ejecuten al mismo tiempo varias instancias de la misma secuencia de comandos de línea de comandos de Python, y me gustaría que la nueva instancia pueda enviar datos a la instancia original antes de que la nueva instancia se suicide. . ¿Cómo puedo hacer esto de forma multiplataforma? Específicamente, me […]

bloques – enviar entrada a la tubería de subproceso de Python

Estoy probando conductos de subprocesos con python. Soy consciente de que puedo hacer lo que hacen los progtwigs a continuación en Python directamente, pero ese no es el punto. Solo quiero probar la tubería para saber cómo usarla. Mi sistema es Linux Ubuntu 9.04 con el python 2.6 predeterminado. Comencé con este ejemplo de documentación […]

¿Cómo un script de Python que se ejecuta en Linux llama a una rutina en un script de Python que se ejecuta en Wine?

Tengo un script Python (3) que se ejecuta en Linux, conocido como el script principal, que tiene que llamar a una rutina desde una DLL propietaria. Hasta ahora, he resuelto esto con Wine utilizando la siguiente construcción: # Main script running on Linux import subprocess # […] subprocess.Popen(‘echo “python dll_call.py %s” | wine cmd &’ […]

¿Por qué mi conexión de socket entre dos scripts de Python se rompe si uno de ellos se inicia con Popen?

Así que tengo dos scripts de Python muy simples que se comunican a través de un socket. En este momento ambos se ejecutan en la misma PC con Windows. Aquí es controller.py: import socket import time import sys from subprocess import Popen, CREATE_NEW_CONSOLE HOST = ‘192.168.1.107’ # The remote host PORT = 50557 # The […]