0

このコードはテストされていません。目的は、出力ファイルのサイズを 3 秒ごとにチェックし、増加が止まったら myprogram を強制終了することです。関係なく、60秒後にも殺されるべきです。

このスクリプトは、スクリプト全体のイベントによってトリガーされて複数回実行されます。

私の質問は、何十もの1秒タイマーを実行せずにファイルサイズの監視を達成するためのより効率的な方法があるかどうかです。

おそらく、マスターの 1 秒タイマーを実行するスクリプトは、実行時にすべてのファイル サイズ監視スクリプトにパイプされますか?

myprogram >> ~/log/$$.txt
pid=!$
filesize='1'
counter='0'
counter2='0'
while ((counter<61))
 do
 ((counter++))
 ((counter2++))
  if (( $counter2 == "3" )) ;
  then
  counter2='0'
  lastfilesize=$filesize
  filesize=$(stat -c%s "~/log/$$.txt")
   if (( $filesize == $lastfilesize )) ;
   then 
   kill $pid
   fi
  fi
 sleep 1
done
 if (( $counter == 61 )) ;
 then
 kill $pid
 fi
exit
4

1 に答える 1