Kontrollera en fil under pågående kopiering

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2004-01-15 11:15

Jag behöver kontrollera om en fil är under kopiering (uppbyggnad) eller inte, d.v.s öppen. Den enkla labmiljön består i att jag kopierar en 300 MB stor fil från en mapp till en annan, så att jag hinner köra några kommandon på filen.
Märkligt nog fungerar inte fstat eller lsof som de borde göra: rapportera öppna filer som t.ex. en fil under uppbyggnad. Där emot genererar cp ' Resource temporarily unavailable' när man försöker kopiera filen som ännu inte är klar.
Anyone?

kör lsof som root.. det gör jag, funkar finfint.

  • Medlem
  • International user
  • 2004-01-15 16:19

Det fungerar inte med root för mig.

Men jag använder cp istället, eftersom jag ändå ska kopiera filen när den är klar. cp skriver en 1:a i 'last result' ($?) om filen är öppen. Jag får dessutom ett bättre födeskontroll i scriptet:

#!/bin/sh
for file in *
do
echo 'filen='"$file"
cp ./"$file" $HOME
if [ $? -eq 1 ]
then
echo "Filen är öppen. Försöker senare..."
else
echo "Filen ar kopierad (och därmed stängd)."
fi
done
  • Medlem
  • International user
  • 2004-01-16 17:53

Med /Developer/Tools/CpMac blir $? 202.

1
Bevaka tråden