Sadece kafa karıştırıcı bir hata yakaladım:
rm: cannot remove `xxx/app/cache/prod': Directory not empty
Aşağıdaki komutun neden olduğu:
rm -rf $cache_dir/*
nerede $cache_dirolarak tanımlanırxxx/app/cache
Bu yüzden şöyle görüyorum: dir rmiçindeki her şeyi kaldırdı cache/prod, sonra cache/proddizini kaldırmaya çalışmadan hemen önce - başka bir program içinde bir dosya / dizin oluşturdu, bu da rmbaşarısızlığa neden oldu .
Varsayım doğru mu?
rm -rfiş parçacığı güvenli olmasıyla bir ilgisi yoktur : aynı dizinde aynı anda birden çok kez çalıştırırsanız, dizin silinir. Bu rm -ratomik olmamakla ilgili .
rmçağırma olarak "iş parçacığı" olduğunu varsayarsak , iş parçacığı güvenliği hakkında konuşabiliriz. Her neyse, hiçbir şey
rm -ratomik değil. Çalışırken dizinde başka dosya oluşturulmadığından emin olmak istiyorsanız, önce dosyayırm -rfyeniden adlandırabilir, ardından yeniden adlandırılan dizini kaldırabilirsiniz.