Saya baru saja menemukan kesalahan yang membingungkan:
rm: cannot remove `xxx/app/cache/prod': Directory not empty
yang disebabkan oleh perintah berikut:
rm -rf $cache_dir/*
dimana $cache_dir
didefinisikan sebagaixxx/app/cache
Jadi saya melihatnya seperti: rm
menghapus semuanya dalam cache/prod
dir, lalu tepat sebelum mencoba untuk menghapus cache/prod
direktori - program lain membuat file / direktori di dalamnya sehingga menyebabkan rm
kegagalan.
Apakah asumsi saya benar?
rm -rf
menjadi aman utas: jika Anda menjalankannya beberapa kali secara bersamaan di direktori yang sama, direktori tersebut akan dihapus. Ini tentang rm -r
tidak menjadi atom.
rm
doa, kita dapat berbicara tentang keamanan utas. Tapi bagaimanapun, itu tidak mengubah apa pun
rm -r
bukan atom. Jika Anda ingin memastikan bahwa tidak ada lagi file yang dibuat di direktori saatrm -rf
sedang berjalan, Anda bisa mengganti nama terlebih dahulu, lalu menghapus direktori yang diubah namanya.