Spawn a background process in Rubyと基本的に同じ質問をしていますが、Windows 環境でバックグラウンド プロセスを生成する必要があります。残念ながら、私の調査によると、Windows は Ruby フォーク (スプーンのみ。リムショット! ) をサポートしていません。
3 に答える
Win32Utils スイートの一部である win32-process ライブラリは、おそらくあなたが求めているものです。
http://win32utils.rubyforge.org/
win32-process ライブラリは、MS Windows 用の Process.create および Process.fork メソッドを追加します。さらに、wait、wait2、waitpid、および waitpid2 メソッドのさまざまな実装を提供します。Process.create メソッドを使用すると、さまざまな構成オプションを使用して、ネイティブの MS Windows プロセスを作成できます。
Process.fork の実装は実験的なものであり、製品コードでは使用しないでください。
インストール: gem install win32-process
チャールズの答えは素晴らしいです。また、たとえばコマンドを次のようstart
に実行するために、Windows の を利用できることも発見しました。dir
system('start dir')
これにより、プロセスとともに cmd ウィンドウが生成されますが、これは状況によっては望ましくありません。ただし、これが許容できる場合は、win32-process 依存関係は必要ありません:)
1.9.x の Process.spawn はうまく機能しているようです。http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processesの最後のセクションを参照してください。