JRuby jruby windows

ripple · 2012年03月06日 · 最后由 douxiance 回复于 2015年08月20日 · 8838 次阅读

如何创建新的进程,win32-process jruby 安装不成功,还有其他方法么?

用 Kernel 的 spawn 或是 Process 类的 spawn 都可以创建新进程。 还有 system, exec,%x, 都可以。 实在是没有必要走 WinAPI 这条路,除非你有特殊要求。

spawn 或者 system 是执行系统命令,我不太清楚 windows 系统创建新 ruby 进程是那个命令? 之前看文档感觉 process::fork 比较像我想要的,只是想开一个新进程,在新进程执行一段 ruby 代码,但是这个好像只适用*unix 系统?所以才找到 win32-process 的。

#2 楼 @ripple 在 windows 下,spawn 或 system,exec,%x都可以调用第三方进程。 比如:system('ruby -v')

#3 楼 @skandhas 哦,这个只能执行独立的 ruby 代码,如果在 rails 下面,我在某个控制器里面想开两个同时拥有母进程的环境的子进程,有这个可能么? 需求描述不一定准确,场景是这样的:我购买了一个 jar 包,想在通过 jruby 包装在 rails 项目中使用,但是这个插件一个 application 只允许同时使用一个插件,多应用不能共享这个插件,所以最初我把插件的生产使用全部放在控制器内的时候,第一次可以正常试用,刷新重新执行控制器方法就会爆出 licence 错误,必须重启 rails 才能再使用一次。 后来通过将插件生成对象设为全局,在控制器共享对象,重刷不会出错,但是依然不能解决多用户可能同时使用的情况,官方说只能开多个进程解决,但是总不能开多个 rails 吧? 不知道会遇到这样场景的多不?因为跟原帖已经偏离,本来想重开一帖,不知道该归类那类问题。新手问题,呵呵,非常感谢你耐心解答

本帖和http://ruby-china.org/topics/1652 讨论的同一个应用场景

#4 楼 @ripple 实际 rails 部署就是开多进程的

学习一下

需要 登录 后方可回复, 如果你还没有账号请 注册新账号