私はsiebelサーバーマネージャでコマンドを実行するためにcoprocessを使用しています。テキストファイルからコマンド(約2000個のコマンド)を読み取り、siebelサーバーマネージャで1つずつ実行しています。約600個のコマンドを実行すると、シェルスクリプト(solarisのksh)がハングします。私は根本原因がsiebelサーバー側にあるとは思わない。だから私が使っているパイプや補助プロセスに問題があるようです。以下は、コマンドの実行に使用するコードです。変数には、srvr_cmd
Siebel Server Managerへの接続に使用される文字列が含まれています。ファイルsrvr_commands.txt
にはコマンドが含まれています。sleep_less
スクリプトで0.1秒間スリープする関数です。私のコードに問題があるか、パイプやコルーチンに制限があるかどうかを教えてください。
$srvr_cmd |&
srvr_pid=$!
exec 7>&p
exec 9<&p
while read commnd
do
count=\`expr $count + 1\`
echo $count
print -u7 "$commnd"
sleep_less
echo $commnd
done < srvr_commands.txt