Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)

No.2103  プログラムミス??
発言者: たらい
発言日: 2004 04/22 17:49
 
はじめまして、たらいと申します。
cygwin使い始めてまだ2ヶ月ばかりで、
unixもろくに知らないような人間です。

現在以下の環境で5分間隔でbashを起動して
某DBのリカバリー処理を行っています。
 OS:Win2k Server 5.00.2195(US版OS)
 CPU:Intel Xeon 2.8GHz
 MEM:1G

処理が正常に終わるとタスクマネージャのプロセスから
bash.exeが消えますが、何かしらのエラーがあった場合に
bash.exeがタスクに残ったままになってしまいます。

当処理はリカバリーに必要なファイルがあるときのみ行うのですが、
正常に終了したり、しなかったり(bash.exeが残る)します。
(1日に2回くらい、多いときで4回ほど残ります)
処理自体は20秒もかかりません。

シェルはバッチファイルから起動し、
「bash -x シェルファイル 引数 > ログ 2>&1」でデバッグも行っていますが、
「exit1」ではなくコマンド(+echo メッセージなど)で終了したりします。
ソースを見ると落ちた次のコマンドが「cat」であることが多いのです。
catでファイルを開いて中身を変数(配列)に入れています。
(変数=`cat ${ファイル}`)
ただし、ファイルは確実に存在し(シェル起動直後にtouchにて作成)、削除したりもしていません。
変数等も何度も確認しましたが問題はありません。

全てのコマンドで、エラー(lsで存在しないファイルの情報を見ようとした時など)チェックを
コマンドの次行でおこない、0以外ならexit 1で終了させています。
catのエラーならこのチェック関数で引っかかるのですが、
そこまで行っていません。

ただ、Win2K Server 日本語OSでのテストではこの様なことは起こりません。(テスト稼動2週間以上エラーは発生しません)

これはただのPGミスなのでしょうか?
それともcigwinのバグなのでしょうか?
またはOSとの相性が悪いだけなのでしょうか?

この様な経験がある方がいましたらご教授ください。

以上、よろしくお願いいたします。


▼関連発言

2103:プログラムミス?? [たらい] 04/22
 └2104:追記情報 [たらい] 04/22 <

Pass 保存

早田のホームページへ
CGIROOM