-------------------- Start of forwarded message --------------------
From: "Ara.T.Howard" <Ara.T.Howard@noaa.gov>
Newsgroups: comp.lang.ruby
Subject: Re: Exececuting another application from within ruby
Date: Tue, 5 Jul 2005 07:03:40 +0900
On Tue, 5 Jul 2005, Nigel Wilkinson wrote:
> Hi folks
>
> I have a smell application from which I wish to display a file using an
> external helper programme.
>
> Lets say
> app = the external programme
> file = the file to be displayed
>
> I've tried
>
> system(app, file)
>
> This works but it blocks my application. How can I fire up the helper
> application in the background?
def background command
Thread::new(command, Thread::current) do |cmd, cur|
begin
pipe = IO::popen cmd
true while pipe.gets and pipe.close
$?.exitstatus
rescue Exception => e
cur.raise e
end
end
end
thread = background 'long-running'
...
...
...
p thread.value # exitstatus
hth. if you need control over stdout and stderr check out session. it
provides thread safe execution.
require 'session'
def background command
sh = Session::new
Thread::new(command, Thread::current) do |cmd, cur|
begin
stdout, stderr = sh.execute cmd
[stdout, stderr, sh.status]
rescue Exception => e
cur.raise e
end
end
end
thread = background 'long-running'
...
...
...
p thread.value # [stdout, stderr, exitstatus]
session also allows thread safe stuff like
def background command, widget
sh = Session::new
Thread::new(command, Thread::current) do |cmd, cur|
begin
sh.execute(cmd) do |stdout, stderr|
widget.update stdout, stderr
end
sh.status
rescue Exception => e
cur.raise e
end
end
end
hth.
-a
--
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| My religion is very simple. My religion is kindness.
| --Tenzin Gyatso
===============================================================================
-------------------- End of forwarded message --------------------
分享到:
相关推荐
Fwd:文本,Fwd:链接,Fwd:图像,Fwd:捕获-保存您访问Fwd:Wiki的任何网站中的数据。 Google Meet出勤报告(具有自动允许/无依赖性),您可以将Meets组织到组中-添加| 编辑 删除以HTML文件格式下载报告或推送至...
烟花网注意- fwd是死的,万岁 FWD项目已中止,转而使用我们的新解决方案 。 FWD为开发团队利用Docker容器进行本地开发提供了很多帮助。 kool现在以更大的功能和灵活性继续执行相同的任务,它的目标是使个人和团队...
FWD:端口转发应用 Fwd:端口转发应用程序可让您使用Android设备的网络接口通过栓系连接转发端口,非常适合托管服务器或打开NAT类型进行游戏。 Fwd旨在促进从Android设备轻松便捷地进行端口转发。 对于对端口转发感...
fwd-可能的小货代 关于 fwd是用golang编写的网络端口转发器。 它是跨平台的,支持多种架构,使用起来非常简单。 阅读所有关于它这。 用例 前轮驱动 :heart_suit_selector: 恩格罗克 我必须承认ngrok是fwd的巨大...
转发 一个非常简单的 JavaScript 插件,用于... var fwd = new Fwd(); fwd.links({ routes: { "about": "about", "services/:id": "showService", "services": "services", "contact": "contact" }, abou
配置可以在/usr/local/etc/msr-fwd.cfg找到配置。安装如果要构建包,请确保已安装 。 Debian 和衍生产品: git submodule update --init./package.shdpkg -i python-msr-cli_0.0.1-1_all.debdpkg -i msr-fwd_0.0.1-1...
在这个项目中,“Scara_fwd”可能指的是前向运动学(Forward Kinematics)的实现,这是机器人学的一个关键部分。前向运动学涉及将机器人的关节参数(如角度)转换为末端执行器(如工具或抓手)在工作空间中的位置和...
目录 简介-项目目标 ... 技术领域 ... CSS3 JavaScript版本:ES2015 / ES6 发射 ... 单击导航栏链接时,可以平滑滚动到各个部分。... 当部分在视口中时,将活动状态添加到相关的导航项中。... 滚动到页面顶部的按钮,只有当用户...
cpp-std-fwd 转发C ++ 17标准库中最有用的运行时类的声明。 免责声明:该项目的目的是为标准化std的前向声明标头的提议提供概念证明。 使用UB是UB,只能用来评估提案(请参阅底部的常见问题解答)。 基准测试 TL; ...
《FwdPortForwardingApp:Android端口转发应用开发技术详解》 在移动设备的使用过程中,有时我们需要在Android平台上实现端口转发功能,以便于远程访问设备上的服务或者调试本地网络应用。FwdPortForwardingApp就是...
Weather Journal App-第二个项目-Udacity-FWD-专业网站开发-NanoDegree Github上的项目链接: : 使用Web API和用户数据来动态更新Weather-Journal App的UI的异步Web应用程序。 此应用根据用户输入的城市名称从 API...
将社交媒体分享到正确的环境中。 当此扩展名侦听来自Facebook上经常共享的网站的链接时,该链接的标题将以FWD:FWD:FWD:为前缀。 支持语言:English
(共享单车数据探索) by (哈南阿里) 数据集 我的数据是 2019 年来自(福特 GoBike)系统的大约 2000000 条记录,有 16 个功能..我从这个网站“ ”下载了它 我选择了 2019 年第一季度和第三季度的数据 .....
单相可控全波整流器是一种常见的电力电子电路,它用于将交流电转换为直流电。在该系统中,加入自由轮换二极管(也称为续流二极管)可以提高电路性能并解决某些问题。MATLAB是数学计算、建模和仿真的一种强大工具,常...
然后放入l2fwd文件夹中。 编译如下: # export RTE_SDK=/root/dpdk # export RTE_TARGET=build # make CC main.o LD l2fwd INSTALL-APP l2fwd INSTALL-MAP l2fwd.map 适配dpdk-17.11.1,命令通过新增-d指定...
LD l2fwd INSTALL-APP l2fwd INSTALL-MAP l2fwd.map 适配dpdk-17.11.1,命令通过新增-d指定端口的dmac。 ./build/l2fwd -c 3 -n 2 -- -p 3 -d 11:11:11:11:11:11 -d 22:22:22:22:22:22 Port0的dmac为: 11:11:...
Fwd_ 计算机英语词汇Fwd_ 计算机英语词汇
DPDKL2fwd代码走读报告(代码流程分析) DPDK(Data Plane Development Kit)是一种高性能的网络数据包处理平台,能够在通用x86服务器上实现高速网络数据包转发。该平台通过使用hugepage、uio、zero copy、cpu ...
"FWD V101文件.zip_FWD UD_K60头文件"这个标题暗示了这是一个与FWD(可能是某个软件框架或库)的版本V101相关的压缩包,其中包含了UD(用户定义)部分针对K60微控制器的头文件。在嵌入式系统开发中,头文件通常包含...