我这里有个需求,希望主进程能创建一些独立运行的子进程,但是主进程需要监控子进程的执行情况,在windows上,system,exec,··方式创建的独立子进程,主进程似乎没有什么办法可以获取其PID,以便监控其执行情况,我采用的druby方式,来达到子进程向父进程传递参数的目的。(通过PID,主进程可以在定时器超时时,通过PID,杀死子进程)
父进程文件druby_server.rb
require 'drb/drb' ip = 'localhost' port = '8787' class TimeServer attr_accessor :pid def get_current_time return Time.now end def push_process_pid(pid) @pid = pid end def druby_reboot DRb.stop_service end end obj_server=TimeServer.new DRb.start_service("druby://#{ip}:#{port}", obj_server) rs = File.dirname(__FILE__) + "/druby_client.rb" Thread.new do system("ruby.exe #{rs}") end sleep 2 #此处可以采用轮询的方式来观察子进程是否已经将PID数据传递过来 p obj_server.pid DRb.thread.join
同目录下子进程使用的文件druby_client.rb
require 'drb/drb' ip = 'localhost' port = '8787' DRb.start_service client = DRbObject.new_with_uri("druby://#{ip}:#{port}") pid = Process.pid client.push_process_pid(pid) # client.druby_reboot #强制终止远端druby服务
相关推荐
完整书名《Ruby Programming-向Ruby之父学程序设计》 ,就是那本经典的绿皮书 第一部分:通过简单的Ruby程序来介绍程序的基本架构。 第二部分:介绍基础语法规则,以及类、模块等面向对象程序设计的思考方法与...
childprocess - 跨平台的ruby库来管理子进程
[Ruby.Programming_向Ruby之父学程序设计(第2版)].(日)高桥征义,(日)后藤裕藏.扫描版(ED2000.COM).pdf ) 带书签
《Ruby Programming_向Ruby之父学程序设计_第2版》PDF版本下载
《Ruby Programming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要...
本书是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。
ruby的基础语言,如果使用ruby编程,测试框架的搭建
借助基本的数学方法,并使用Ruby和R语言做一些简单的编程工作,你就能学会如何对问题建模,并找出解决方案。 要阅读《R和Ruby数据分析之旅》,对编程有基本了解就足够了。书中会对Ruby和R做一个简明的介绍,之后你...
使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库...
R和Ruby数据分析之旅 数据分析 数据挖掘
DRb是Distributed Ruby的縮...在Ruby的官網中,則是使用dRuby的縮寫。就如同絕大部分的網路架構,DRb也有兩個主要的部份:Server/ClientServer端:在伺服端的Process是由一個DRb::DRbServer的實例(instance)來負責的。
ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码
rgeo - Ruby的地理空间数据的库。空间数据类型、几何和球面计算和WKT / WKB序列化
使用Map,Reduce,Select实现数据处理,读完本书,您将深入理解怎样解决数据处理问题。
kitabu:一个框架使用Ruby来从Markdown创建电子书籍。使用Prince PDF生成器,你可以得到高质量的pdf文档。还支持生成EPUB,Mobi,Text 和HTML格式
使用Python Lua和Ruby语言进行游戏编程
ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...
:check_mark_button: 使用参数轻松执行子进程 :check_mark_button: 使用参数轻松执行shell命令 :check_mark_button: 实时捕获输出或流到stdout / stderr :check_mark_button: 兼容Swift Package Manager :check...
ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件
大家使用ruby的时候,可以参考参考,这是ruby陷阱电子书