Encontré este ejemplo de un bucle condicional de lsof y quiero adaptarlo a mi situación.
typeset fSrc="/path/to/sourcedir"
typeset fTgt="/path/to/targetdir"
while : ; do
ls /path/to/sourcedir | while read file ; do
if [ $(lsof $fSrc/$file | wc -l) -gt 1 ] ; then
echo "file $file still loading, skipping it"
else
mv $fSrc/$file $fTgt/$file
echo "file $file completed upload, moving it"
fi
done
done
Mi ejemplo sería más como este:
while any files are present in "/pathto/sourcedir"; do
If [ lsof "any file" in "/pathto/sourcedir" is being written or modified]; then
echo "Files being written or modified, exiting"
exit;
else
do something
fi
done
¿Se puede hacer esto? ¿Mi lógica está cerca de ser correcta?