別のキーワード
モジュール
- Find (22)
- Open3 (12)
- Syslog (168)
-
Syslog
:: Macros (24) - Timeout (21)
検索結果
先頭5件
-
Syslog
. # err(message , *arg) -> self (15108.0) -
Syslog#log()のショートカットメソッド。 システムによっては定義されていないものもあります。
...@param arg フォーマットされる引数です。
@raise ArgumentError 引数が1つ以上でない場合に発生します。
@raise RuntimeError syslog がopen されていない場合発生します。
例:
require 'syslog'
Syslog.open("syslogtest") {|syslog|
syslog.crit("the sky... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (125.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロック......結果を返します。
require 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または close_write
p stdout.read
p stderr.read
}
#=> "stdout\n"
"stderr\n"
stdin への入力......
require 'open3'
Open3.popen3({"foo" => "1", "bar" => "2"}, "env") {|i, o, e, t|
i.close
print o.read
}
#=> ...
foo=1
bar=2
Kernel.#spawnと同様に、引数リストの最後にオプションをハッシュ形式
で指定する事ができます。
例:
require... -
Find
. # find(*dirs , ignore _ error: true) -> Enumerator (107.0) -
find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。
...す。
@param dirs 探索するディレクトリを一つ以上指定します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
例:
require 'find'
Find.find('/tmp') {|f|
Find.prune if f == "/tmp/bar"
...
}
あるディレ... -
Find
. # find(*dirs , ignore _ error: true) {|file| . . . } -> nil (107.0) -
find(1) のように dir 配下のすべてのファイルや ディレクトリを一つずつ引数 file に渡してブロックを実行します。
...す。
@param dirs 探索するディレクトリを一つ以上指定します。
@param ignore_error 探索中に発生した例外を無視するかどうかを指定します。
例:
require 'find'
Find.find('/tmp') {|f|
Find.prune if f == "/tmp/bar"
...
}
あるディレ... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (49.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......のタイムアウト
require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
e......外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread に... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (49.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはいりま......のタイムアウト
require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
e......外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread に... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) -> self (25.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
...tants を参照してください。
@raise RuntimeError syslogを既に開いていた場合はRuntimeErrorが発生します。
@return self を返します。
syslogを既に開いていた場合はRuntimeErrorが発生します。
require 'syslog'
Syslog.open("syslogtest")
Syslog.log(......begin
Syslog.open("syslogtest2")
rescue RuntimeError => err
puts err #=> "syslog already open"
end
options と facility に指定できる値については
Syslog::Constants を参照してください。
指定例:
require 'syslog'
Syslog.open('ftpd', Syslog::LOG_PID... -
Syslog
. # open(ident= $ 0 , options=Syslog :: LOG _ PID|Syslog :: LOG _ CONS , facility=Syslog :: LOG _ USER) { |syslog| . . . } -> self (25.0) -
与えられた引数でsyslogを開きます。以降、他の Syslog モジュール関数が使 用可能となります。
...tants を参照してください。
@raise RuntimeError syslogを既に開いていた場合はRuntimeErrorが発生します。
@return self を返します。
syslogを既に開いていた場合はRuntimeErrorが発生します。
require 'syslog'
Syslog.open("syslogtest")
Syslog.log(......begin
Syslog.open("syslogtest2")
rescue RuntimeError => err
puts err #=> "syslog already open"
end
options と facility に指定できる値については
Syslog::Constants を参照してください。
指定例:
require 'syslog'
Syslog.open('ftpd', Syslog::LOG_PID... -
Syslog
. # mask -> Integer | nil (19.0) -
ログの優先度のマスクを取得または設定します。 マスクは永続的であり、 Syslog.openやSyslog.close ではリセットされません。
...トされません。
@param mask ログの優先度のマスクを設定します。
@raise RuntimeError syslog がオープンされていない場合、発生します。
使用例
require 'syslog'
include Syslog::Constants
# ログの場所は実行環境によって異なる。詳し......log.conf を参照
log = '/var/log/ftp.log'
Syslog.open('ftpd', LOG_PID | LOG_NDELAY, LOG_FTP)
Syslog.mask = Syslog::LOG_UPTO(LOG_ERR)
[ LOG_CRIT, LOG_ERR, LOG_WARNING,
LOG_NOTICE, LOG_INFO, LOG_DEBUG ].each_with_index { |c, i|
Syslog.log(c, "test for syslog FTP #{c}, #{i}")
}...