でアナライザーをコーディングしましたOCaml。アナライザーはファイルを引数として取り、評価を返します: 、、GOOD...BAD一連makefileのファイルに対して 1 つずつアナライザーを起動する必要があります。
一部の巨大なファイルの場合、分析に非常に長い時間がかかります。そこで、分析用のタイマーを設定したいと思います。分析時間が 3 秒を超えた場合、現在のファイルの分析は停止TOO LONGされて返され、次のファイルに進みます...
このタイマーを追加する場所を誰か教えてもらえますか? OCaml内または内の関数の周りmakefile?そして、それを行う方法は?
編集:の一部makefile:
allev: all
@n=0; \
for f in \
`find . -ipath '*/fetch/evs/*.ev' -exec grep -L -e "' Error" {} \;`; \
do \
let "n+=1"; \
echo "oooooooooooooooooooooooooooooooooooooooo" $$n; \
echo $$f; \
./$(BIN) $$f & \
PID=$$!; \
(sleep 0.001; kill $$PID) & \
wait $$PID; \
echo $$?; \
done
実際0.001、ほとんどの分析には秒が短すぎるので、
- 1秒では終わら
143ない分析に0.001。 /bin/bash: line 10: 60202 Terminated ./analyze $f、 秒で解析が終わらないときにこのようなメッセージが出力されるのではない0.001でしょうか?/bin/bash: line 9: kill: (60241) - No such process、このようなメッセージは、解析が0.0011 秒で終了するときに出力されるのでしょうか。
文字通り、メッセージは何が起こるかに関してまだ奇妙に見えます...
編集2:
約 4000 個のファイルに対して3秒単位のタイマーでアナライザーを実行しているため、ほとんどの分析は3数秒で完了します。みたいなメッセージをたくさんくれました/bin/bash: line 9: kill: (60241) - No such process。
奇妙なのは、すべてのファイルを分析した後、端末のカーソルが新しいコマンド ラインを開始しないことです。を押すCtrl+Cと、すぐに新しいコマンド ラインが開始されます。誰かが理由を知っていますか?