2

例を挙げましょう:スクリプトはファイルの作成が終了したことを検出する必要があります:

#!/bin/bash
CID=$1
TYPE=$2
echo "$TYPE$CID" >scan.log
sleep 1
FILE=$TYPE$CID.jpeg
until [ $(ls -l $FILE | awk '{print $5}') -gt 2000 ]
do
   echo "sleeping" >> scan.log
   sleep 0.4
done
SIZE=`du -h $FILE`
echo "$DT $SIZE " >> scan.log
cp $FILE $TYPE.jpegs

シェルからexecuteを呼び出すと、非常に高速です。出力/scan.log/に1行が「スリープ」していないため、ファイルは1秒で準備できます/最初のスリープで十分です/一方、同じスクリプトを呼び出すとQTから、5秒以上/14行以上の睡眠/を待たなければなりません

それを修正することは可能ですか?私のプロジェクトでは時間が重要なので...アドバイスありがとうございます

4

1 に答える 1

1

皆さんありがとう、私は解決策を見つけました、問題はQTキャッシュでした...
だから私はQFileInfo::refresh()を使用しました、QProcessは役に立ちません

于 2012-08-10T10:28:45.520 に答える