[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:03253] how to set timeout?



西本です。

コマンドにタイムアウトを設定したいのですが、どのようにすればよいですか?
仮想的なコマンド timeout があるとして、

timeout 5*60 command

を実行すると5分以内に command の実行が終了しないときはエラーが起きたと
見なし、そのプロセスを自動的に殺して次の処理へと進みます。

このような処理をするコマンドはありそうなのですが、どんなコマンドで実現
できるかわかりません。教えてください。

背景を説明します。CDDAから wave file に落とす cdda2wav を音楽CDの最終
トラックに対し適用すると、エラーが出て C-c が効かなくなりますが、kill 
してしまえば、ちゃんと wave file ができあがっていて、ちゃんと聴けます。
例えば、最終トラックが10番で、cdrom デバイスが /dev/hdc とすると次のよ
うになります。
cdda2wav -t10 -D /dev/hdc

現状では、ある程度時間がたってから
killall cdda2wav
していますが、それをなんとか自動化したいのです。timeout を使えば、
timeout 30*60 cdda2wav -t10 -D /dev/hdc
という感じです。

この問題だけでなく、 error check などに使えそうな気がします。
--
Takashi Nishimoto