[#43996] ある日付の最終時刻の求め方 (秒単位) — SATOH Fumiyasu <fumiyas@...>

さとうふみやす @ OSS テクノロジです。

14 messages 2007/09/05
[#43998] Re: ある日付の最終時刻の求め方 (秒単位) — "GOTO Kentaro" <gotoken@...> 2007/09/05

07/09/05 に SATOH Fumiyasu<fumiyas@osstech.jp> さんは書きました:

[ruby-list:43995] スレッドの終了を知る

From: 大木 聡 <s-ooki@...>
Date: 2007-09-04 07:33:29 UTC
List: ruby-list #43995
はじめまして。大木と申します。

複数のDOSコマンドを実行して、それらが終了すると
プログレスバーが進むというのを考えていたのですが
コマンドが実行されるタイミングはなんとなくとれるのですが
終了したタイミングがつかめません。

なにか良い方法がありますでしょうか。

ActiveScriptRuby 1.8.637
Windows XP SP2


〜〜〜〜ここから〜〜〜〜
#http://www.ruby-lang.org/ja/man/?cmd=view;name=Thread
require "win32ole"
require 'thwait'
#文字列でコマンドを準備
comand = 'cmd /C start /MIN bcp -v &
cmd /C start /MIN bcp -v &
calc &
'

#文字列コマンドを配列へ変換
coms = comand.to_a

#個別スレッド用配列を準備
threads = []

shell=WIN32OLE.new('WScript.Shell')

#コマンド配列を順次起動
coms.each do |command|
#threads.push(Thread.new do system(command) end)
threads.push(Thread.new do
shell.Run(command, 1, false)
sleep 3 end)
end

#これだと、ステータスを順次吐くが
#threads.each {|t| p t.value}

#これもだめ
ThreadsWait.all_waits(*threads) {|th| p th }

#
threads.each do |st|
if st.value == true then
p "good"
else
p "bad"
end
end

〜〜〜〜ここまで〜〜〜〜

-- 

大木 聡@Support
s-ooki@mic.jp


In This Thread

Prev Next