Come posso verificare se mv è atomico sul mio fs (ext4)?
Il sistema operativo è Red Hat Enterprise Linux Server versione 6.8.
In generale, come posso verificarlo? Mi sono guardato intorno e non ho trovato se il mio sistema operativo è POSIX standard.
Risposta accettata:
È interessante notare che la risposta potrebbe essere:"Dipende".
 Per essere chiari, mv è specificato in
 Il mv l'utilità eseguirà azioni equivalenti a rename() funzione
La specifica della funzione di ridenominazione afferma:
 Questo rename() la funzione è equivalente per i file normali a quella
 definita dallo standard ISO C. La sua inclusione qui espande quella
 definizione per includere le azioni sulle directory e specifica il comportamento
 quando il nuovo parametro nomina un file già esistente. Quella
 specifica richiede che l'azione della funzione sia atomica. 
 Ma l'ultima specifica ISO C per rename() afferma:
 7.21.4.2 Il rename funzione 
Sinossi
#include <stdio.h>
int rename(const char *old, const char *new);
Descrizione
 Il rename La funzione determina il file il cui nome è la stringa puntata da old essere d'ora in poi conosciuto con il nome
 dato dalla stringa puntata da new . Il file denominato old non è
 più accessibile con quel nome. Se un file denominato dalla stringa puntato
 a da new esiste prima della chiamata al rename funzione, il comportamento
 è definito dall'implementazione.
Resi
 Il rename la funzione restituisce zero se l'operazione riesce, diverso da zero se fallisce, nel qual caso se il file esisteva
 in precedenza è ancora noto con il suo nome originale.
Sorprendentemente, si noti che non esiste un requisito esplicito per l'atomicità. Potrebbe essere richiesto da qualche altra parte nell'ultimo C Standard disponibile pubblicamente, ma non sono stato in grado di trovarlo. Se qualcuno riesce a trovare un tale requisito, modifiche e commenti sono più che benvenuti.
Per la pagina man di Linux:
 Se newpath esiste già, verrà sostituito atomicamente, in modo che
 non ci sia alcun punto in cui un altro processo tenti di accedere a newpath lo troverà mancante. Tuttavia, ci sarà probabilmente una finestra 
 in cui entrambi oldpath e newpath fare riferimento al file 
 rinominato.
La pagina man di Linux rivendica la sostituzione del file sarà atomico.
Test e verifica quell'atomicità potrebbe essere molto difficile, però, se è così che devi andare. Non sei chiaro cosa intendi nel tuo uso di "Come posso verificare se mv è atomico". Vuoi requisiti/specifiche/documentazione che sia atomica o devi effettivamente testare vero?
Correlati:ottenere il PID di una finestra facendo clic su di essa?
 Nota anche che quanto sopra presuppone i due nomi di file degli operandi si trovano nello stesso file system. Non riesco a trovare alcuna restrizione standard su mv utilità per farlo rispettare.