外部スクリプト/コマンドを呼び出す必要がある eventmachine を使用して記述した小さな HTTP サーバー スクリプトがあり、バッククォート ( ``
) を介して呼び出します。バックティックされたコードを実行しないリクエストを提供する場合、すべて問題ありませんが、EM コードがバックティックされた外部スクリプトを実行するとすぐに、リクエストの提供を停止し、一般的に実行を停止します。
eventmachine はサブプロセスやスレッドに敏感で、popen
この目的のためのメソッドを持っているように見えますが、EM のソースは、このメソッドは Windows では機能しないと警告しています。このスクリプトを実行しているマシンの多くは Windows を実行しているため、popen
.
私はここで運が悪いのでしょうか?Windows で eventmachine スクリプトから外部コマンドを実行する安全な方法はありますか? EM の実行をブロックせずに、外部で実行するコマンドを起動する方法はありますか?
編集: EMを最も台無しにしているように見える犯人は、次のように、Windowsstart
コマンドの私の使用法ですstart java myclass
。start を使用する理由は、これらの外部スクリプトの実行を開始し、EM リクエストが処理された後も実行を継続するためです。