Estoy tratando de usar una gema de Ruby llamada escopeta que requiere el comando fork (2) que descubrí que es un comando de Linux, y podría estar disponible en Cygwin. ¿Es posible hacerlo disponible a través del shell de comandos de Windows?Ejecución de la horquilla (2) desde Windows con Cygwin. ¿Posible?
Respuesta
fork(2)
es kludgey bajo Cygwin, ya que el modelo de proceso de Windows no permite que esto ocurra fácilmente. Cygwin puede permitir que su engendro usarlo, pero vas a sufrir una actuación seria éxito como Cygwin tiene que emular todo a mano - incluyendo la copia de los datos ejecutables, copiando los identificadores abiertos, etc.
Dependiendo de cómo mucha escopeta usa fork(2)
, esta emulación podría ser dolorosa o podría ser relativamente menor.
Aquí hay una good thread on GameDev.net discutir la falta de un centro de fork
en Win32. Que aparezca algo que yo no tengo la paciencia o la plataforma de acceso a investigar, pero ciertamente suena divertido, peligroso y explosivo, todo al mismo tiempo:
Por lo tanto, es necesario pasar por alto Win32 y llamar a la nativa API ({Nt | Zw} CreateProcess). El libro "Windows Nt/2000 Native Api Reference" tiene un ejemplo "Forking a Win32 Process". Esto puede ser lo que necesitas.
Estoy intrigado, pero dudo que Cygwin lo use. Probablemente esté allí, para reiterar mi respuesta a su pregunta: muchas aplicaciones de Unix se basan en fork
, y es probable que Cygwin las ponga a disposición. Simplemente no esperes milagros, y tendrás que hacer que Ruby sepa de Cygwin recompilando para incluir su capa de emulación.
- 1. Usando Windows Python desde Cygwin
- 2. Accediendo a un cygwin symlink desde Windows
- 3. supervisa servicios de Windows con cygwin
- 4. atajo de cygwin ssh desde el escritorio de Windows
- 5. Compilación con gcc (cygwin en windows)
- 6. HBase 0.92 Standalone en Windows con Cygwin
- 7. Sobrecarga de la horquilla()
- 8. ¿Cómo ejecutar windows gvim from cygwin?
- 9. Acceso VirtualBox VM con cygwin
- 10. "Permiso denegado" usando cygwin en Windows
- 11. cygwin + programación de socket de Windows
- 12. cygwin + console2: ejecutando cygwin bash con el directorio de inicio
- 13. Cómo ejecutar Java desde Cygwin
- 14. ¿Es posible utilizar vagabundeo con EmacsW32 y cygwin?
- 15. ¿equivalente de clon de la horquilla?
- 16. conectando a mysql desde cygwin
- 17. señal de llamada después de la horquilla
- 18. Conexión de la derivación git a la horquilla GitHub
- 19. Windows desde la consola
- 20. ¿Funciona perlbrew con cygwin?
- 21. Cómo hacer un enlace simbólico con cygwin en Windows 7
- 22. Ver variables de entorno de Windows en Cygwin
- 23. Cómo ejecutar el comando shutdown de cygwin en Windows
- 24. Uso de ASP.NET MVC 2 con Ninject 2 desde cero
- 25. Horquilla multiproceso
- 26. ¿Cómo puedo ejecutar Cygwin Bash Shell desde dentro de Emacs?
- 27. Compile independiente exe con Cygwin
- 28. Ndk-cygwin problemas específicos de la ruta
- 29. Horquilla - ¿mismas direcciones de memoria?
- 30. Implementación de horquilla
¡Gran respuesta! Intentaré recompilar a Ruby con la capa de emulación Cygwin mañana. Si funciona, eso sería increíble; algún golpe de rendimiento estaría bien. El otro camino suena arriesgado, y requeriría muchas operaciones de piratería ... pero es bueno saber qué es posible. ¡Muchas gracias! – picardo