POpen4 のインストール
(Mac OSX & Cygwin on Windows)

ruby libraly である、POpen4 をインストールします。


  1. まえがき
  2. インストール
  3. 設定
  4. 使い方

関連するページはこちら、

MacOSX & Cygwin on Windows のソフトの事

Mail関係はこちら


1. まえがき

ruby 標準のライブラリー open3 では、子プロセスの終了ステータスを得る事が出来ません。なので、open4 を使います。


2. インストール

2.1. References

Homepage
http://popen4.rubyforge.org/
Source
http://codeforpeople.com/lib/ruby/open4/

2.2. make & install (Cygwin)

解凍して、

$ ruby install.rb

するだけ。


2.3. make & install (Leopard)

その侭インストールしようとすると、パスが無いよと云って怒られます。ruby のロードパスを調べると、次のようになっています。

$ ruby -e 'puts $:'
/Library/Ruby/Site/1.8
/Library/Ruby/Site/1.8/powerpc-darwin9.0
/Library/Ruby/Site/1.8/universal-darwin9.0
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin9.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
.

又、site_ruby は、次のようになっていました。

$ ls -l /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby
lrwxr-xr-x  1 root  wheel  47 Oct 27 10:45 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/site_ruby -> ../../../../../../../../../../Library/Ruby/Site

と云う事で、ユーザーライブラリは、/Library/Ruby/Site 以下にインストールするのが良さそうです。で、Ruby のバージョンにも関係なさそうだったので、

$ ruby ./install.rb -l /Library/Ruby/Site

と、しました。


2.4. make & install (Tiger)

解凍して、

$ ruby install.rb

するだけ。


3. 設定

特に無し。


4.使い方

open4 附属の、sample/simple.rb から、

require "open4"

pid, stdin, stdout, stderr = Open4::popen4 "sh"

stdin.puts "echo 42.out"
stdin.puts "echo 42.err 1>&2"
stdin.close

ignored, status = Process::waitpid2 pid

puts "pid        : #{ pid }"
puts "stdout     : #{ stdout.read.strip }"
puts "stderr     : #{ stderr.read.strip }"
puts "status     : #{ status.inspect }"
puts "exitstatus : #{ status.exitstatus }"