我有一个使用 eventmachine 编写的小型 HTTP 服务器脚本,它需要调用外部脚本/命令,并通过反引号 ( ``
) 来实现。当提供不运行反引号代码的请求时,一切都很好,但是,只要我的 EM 代码执行任何反引号的外部脚本,它就会停止提供请求并停止执行。
我注意到 eventmachine 似乎对子进程和/或线程很敏感,并且似乎有用popen
于此目的的方法,但 EM 的消息来源警告说此方法在 Windows 下不起作用。很多运行这个脚本的机器都在运行 Windows,所以我不能使用popen
.
我在这里运气不好?是否有一种安全的方法可以从 Windows 下的 eventmachine 脚本运行外部命令?有什么办法可以在不阻止 EM 执行的情况下触发一些在外部运行的命令?
编辑:似乎把 EM 搞砸的罪魁祸首是我对 Windowsstart
命令的使用,如:start java myclass
. 我使用 start 的原因是因为我希望这些外部脚本开始运行并在提供 EM 请求后继续运行