rename(2)
次が呼び出されるので、mv
アトミックであると仮定するのは安全ですか?
$ mv /home/me/someDir /tmp/toBeDeleted
$ rm -rf /tmp/toBeDeleted
ベストアンサー1
これmv
注文する~と呼ばれるrename
システムコール、原子性を保証します。しかし、2つの例外があります。
- ソースとターゲットが異なるファイルシステムにある場合(通常
/home
は一般的)、/tmp
ソースツリーをターゲットにコピーしてからソースツリーを削除するように機能しますrename
。mv
これは明らかに原子的ではありません。 rename
一部のNFS実装など、一部のファイルシステムはアトミックではありません。 「一般」ローカルファイルシステムでは、rename
これはアトミックです。