だからこんなコードがあります。 2つの外部スクリプトを実行し、時には実行に時間がかかりすぎます。実行を制限し、ループの繰り返しごとにタイムアウトを追加したいのですが、これを達成する方法がわかりません。
files=($pathgtp/*.*)
i=0
while [ $i -lt ${#files[*]} ]; do
f=${files[$i]}
o=$(basename -- "$f")
o=${o%.*}
o=$pathmid/$o.mid
$PWD/GuitarProToMidi "$f" -o "$o" -f # first script here
$pythonvenv $pythonscript "$o" # second script here
rm "$o" # remove temporary file
((i++))
done
答え1
timeout
GNU coreutils
.fromを使用できますman timeout
。
名前
timeout
- タイムアウトのあるコマンドの実行要約
timeout [OPTION] DURATION COMMAND [ARG]... timeout [OPTION]
説明する
始めて
COMMAND
、まだ追っているなら殺してみてくださいDURATION
。[...]