내 감시 프로그램이 pdfs를 쓰는 폴더를 확인하기 위해 감시 스크립트와 pdf 병합 스크립트의 직렬 연결을 설정하려고합니다. 첫 번째 스크립트의 개념은 두 개의 pdfs가 존재할 때까지 폴더를보고 두 번째 스크립트를 호출하는 것입니다. 이제 문제는 inotifywait가 파일이 만들어지고 예상대로 두 번째 스크립트가 호출되지만 특히 큰 pdf를 사용하면 pdf가 여전히 스캐너에 기록 될 수 있으므로 오류가 발생한다는 것입니다. inotifywait에 close_write 이벤트를 추가했지만 create 이벤트가 이미 true로 간주되어 무시됩니다. 임시 해결책으로 잠을 추가했지만 고정 된 시간 초과를 초과하는 더 큰 파일에서도 오류가 발생하는 것은 아닙니다. 두 파일이 모두 작성되었는지 확인하는 가장 좋은 방법은 무엇입니까? 고맙습니다.bash 스크립트 inotifywait가 완료되기 전에 작성된 파일을 기다리는 중입니다.
Foldercheck 스크립트 :
#! /bin/bash
n=0
inotifywait -m -e create,close_write $1 | while read line
do
n=$(find $1 -type f | wc -l);
echo $n
if [ "$n" -eq "2" ] ; then
echo "found $n files"
sleep 5
./pdfMergeMove.sh $1 cleanup
n=0
fi;
done
은'close_write'를 사용해보십시오. – pacholik
그 트릭을 했어 - 고마워. – Mike