Estoy tratando de bifurcar un subproceso, esperar a que termine, si no termina dentro de un cierto período de tiempo, mátalo.Esperando al pid de Ruby pid para salir
Esto es lo que tengo hasta ahora:
servers.each do |server|
pid = fork do
puts "Forking #{server}."
output = "doing stuff here"
puts output
end
Process.wait
puts "#{server} child exited, pid = #{pid}"
end
En algún lugar después de/en torno Process.wait, me gustaría algún tipo de utilidad que esperar 20 segundos, y si el proceso está todavía por ahí, yo Me gusta matarlo y marcar salida como "ERROR".
Soy nuevo en fork/exec. Mi código realmente bifurca funciona, pero simplemente no sé cómo abordar el aspecto de espera/muerte.
Esto funcionó ¡PERFECTO! – awojo