シェルスクリプト総合@LINUX Part5at LINUX
シェルスクリプト総合@LINUX Part5 - 暇つぶし2ch166:163
09/07/26 09:07:33 FW8uMlXc
>>163 自己レス

playとttaencを両方ともバックグラウンドにし、
ttaencをwaitすることでエラーを捕捉、必要ならplayを停止。
これで解決しました。


#! /bin/sh -e

WAV=`mktemp -t $$.wav`
rm -f $WAV
mknod $WAV p
trap "rm -f $WAV" 0
ttaenc -o $WAV "$1" &
DECODE_PID=$!
play -q $WAV > /dev/null 2>&1 &
PLAY_PID=$!
exec 2> /dev/null
wait $DECODE_PID || (kill -10 $PLAY_PID)

>>164
$?について調べたのですが、バックグラウンドプロセスには効かないようです。
でも、調べる過程で解決の発想を得られました。ありがとう!




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch