여기에 윈도우 명령 줄을 사용하여 솔루션을 작업에 비슷한 문제가있다 :
https://serverfault.com/questions/35305/cmd-exe-how-to-starts-a-background-process-run-some-things-stops-background-pr
이 매우 더럽하지만 트릭을 수행합니다.
가능하면 Linux를 사용하거나 Windows 용 Git과 함께 설치된 기본 명령 줄 도구로 bash합니다. bash를 사용하면 솔루션은 매우 간단합니다.
./script/rails server --pid server.pid &
ruby do_your_stuff.rb
kill `cat server.pid`
P.S. 레일즈 용 윈도우는 어쨌든 권장 환경이 아니다. Linux로 전환하여 장기간에 걸쳐 많은 시간을 절약 할 수 있습니다. 이와 같은 이상한 환경 문제는 해결되지 않기 때문입니다.
# command to start daemon
command = "thin start" # here starting thin server as example
status, stdout, stderr = systemu command do |cid|
# do stuff here
# ...
Process.kill 9, cid # kill the daemon
end
Windows에서 Kernel :: fork가 작동하지 않는다고 가정합니다. 나는 Kernel :: exec, Kernel :: fork, Kernel :: system을 실험 해보고 그들이 어떻게 행동하는지 보았다. –
요르단, 저는 Windows를 사용하지 않습니다. 방금 창문에서 예상대로 작동하지 않는 포크에 대한 여러 언급을 발견했습니다 (예 : http://www.ruby-forum.com/topic/215939). –