Cygwin이있는 Windows에서 Fork (2) 실행. 가능한?
문제
나는 내가 발견 한 Fork (2) 명령이 AA Linux 명령이며 Cygwin에서 사용할 수있을 수있는 Shotgun이라는 Ruby Gem을 사용하려고합니다. Windows Command Shell을 통해 사용할 수 있습니까?
해결책
fork(2)
Windows 프로세스 모델이 쉽게 발생할 수 없으므로 Cygwin 하의 Kludge입니다. Cygwin은 Spawn을 사용할 수 있지만 Cygwin이 실행 파일 데이터 복사, 오픈 핸들 복사 등을 포함하여 모든 것을 손으로 모방해야하므로 심각한 성능을 겪게됩니다.
Shotgun 사용량에 따라 fork(2)
,이 에뮬레이션은 고통 스러울 수 있거나 상대적으로 사소할 수 있습니다.
여기에 있습니다 gamedev.net의 좋은 스레드 a의 부족에 대해 논의합니다 fork
Win32 시설. 그들은 내가 조사 할 인내 나 플랫폼 접근성이없는 것을 가져 오지만, 동시에 재미 있고 위험하며 폭발적인 소리를냅니다.
따라서 Win32를 우회하고 네이티브 API ({nt | ZW} CreateProcess)를 호출해야합니다. "Wind 이것이 당신이 필요한 것일 수 있습니다.
나는 흥미롭지 만 Cygwin이 그것을 사용하는 것을 의심합니다. 아마도 당신의 질문에 대한 나의 대답을 반복하기 위해 아마도 거기에있을 것입니다 - 많은 UNIX 앱이 의존합니다. fork
, 그리고 Cygwin은 그것을 사용할 수있게 해줄 것입니다. 기적을 기대하지 말고, 에뮬레이션 층을 포함하도록 Cygwin을 다시 컴파일하여 Cygwin을 알리도록해야합니다.