Articles of proceso de

Proceso hijo de horquilla con tiempo de espera y salida de captura

Digamos que tengo una función como la de abajo, ¿cómo capturo la salida de la llamada Process.spawn? También debería poder finalizar el proceso si demora más que un tiempo de espera especificado. Tenga en cuenta que la función también debe ser multiplataforma (Windows / Linux). def execute_with_timeout!(command) begin pid = Process.spawn(command) # How do I […]

¿Solución para trabajos de fondo en Heroku?

He usado Delayed Job en las stacks más antiguas de Heroku (Aspen y Bamboo), pero con su nueva stack de cedro (ish), me gustaría probar algo más eficiente. Los trabajos de fondo específicos que estoy realizando son llamadas a la API a diferentes operadores (UPS, FedEx, USPS, etc.) y normalmente estoy procesando miles cada hora. […]

Ejecución segura en Ruby

Estoy tratando de hacer un sitio web donde la gente pueda ejecutar el código cargado allí. Algo así como SPOJ / ACM. ¿Cómo me aseguro de que el código no dañe mi sistema (restringiendo el acceso a sockets, llamadas al sistema)? He mirado alrededor de muchas soluciones en la red, algunos chroot sugerido pero no […]

¿Cuál es la mejor manera de iniciar un proceso en segundo plano, al que se puede acceder más adelante?

Actualmente estoy desarrollando un RubyGem que proporciona un ejecutable. El ejecutable realiza un seguimiento del estado de algunos archivos de registro utilizando la gem FSSM. Este ejecutable debe comenzar, hacer algo en segundo plano y detenerse más tarde. Por ejemplo: $ my_executable start # do something different… $ my_executable stop Primero comenzaría un nuevo proceso, […]

¿Cuál es la diferencia entre un proceso ‘pid, ppid, uid, euid, gid y egid?

Contexto: Obtengo el ID de proceso de Ruby actual. Process.pid #=> 95291 Process.ppid #=> 95201 Process.uid #=> 501 Process.gid #=> 20 Process.euid #=> 501 Process.egid #=> 20

cómo controlar (iniciar / matar) un proceso en segundo plano (aplicación de servidor) en ruby

Estoy tratando de configurar un servidor para las pruebas de integración (especificaciones en realidad) a través de ruby ​​y no puedo averiguar cómo controlar el proceso. Entonces, lo que estoy tratando de hacer es: Ejecutar una tarea de rastrillo para mi gem que ejecuta las especificaciones de integración la tarea debe iniciar primero un servidor […]

Obtener el uso actual de la memoria del proceso ruby

Me gustaría formatear la salida de mi Logger para incluir el uso de memoria actual, como parte de un proceso de larga ejecución. ¿Hay algo integrado en Ruby para esto, un poco como el memory_get_usage() PHP? ¿O tengo que ejecutar algunos comandos de shell para obtenerlo desde ps ?

Devolviendo datos de procesos bifurcados

Si lo hago Process.fork do x end ¿Cómo puedo saber qué devolvió x (por ejemplo, verdadero / fase / cadena)? (Escribir en un archivo / base de datos no es una opción …)

tiempos de espera de Ruby y comandos del sistema

Tengo un tiempo de espera de Ruby que llama a un comando del sistema (bash) como este … Timeout::timeout(10) { `my_bash_command -c12 -o text.txt` } pero creo que incluso si se interrumpe el hilo de Ruby, el comando real sigue ejecutándose en segundo plano … ¿es normal? ¿Cómo puedo matarlo?