Chiama di sistema FSYNC in C

Chiama di sistema FSYNC in C

“Potresti aver sentito molto parlare della struttura di base della lingua C e della sua semplicità perché la maggior parte degli sviluppatori tende a impararla prima di imparare qualsiasi altra lingua. Ha una chiamata o una funzione di sistema fsync () che scarica (passa) tutti gli aggiornamenti al disco per riflettere le modifiche apportate a un file. Inoltre, la funzione FSYNC interrompe il processo di flusso fino a quando non sono stati eseguiti tutti gli aggiornamenti da diversi processi su un singolo file, quindi il flush si verificherebbe utilizzando la chiamata funzione fsync (). Questo articolo dimostrerà il funzionamento della funzione fsync () nella lingua C.

Qualsiasi sistema in cui hai lavorato o installato il tuo ambiente di codifica deve essere aggiornato e aggiornato in modo da poter riscontrare bene i nuovi errori e possiamo evitare qualsiasi inconveniente. Pertanto, si consiglia di aggiornare il sistema, in particolare il sistema Linux, prima e dopo eventuali installazioni e configurazioni. Pertanto, l'utilità "Apt" è la migliore da utilizzare per l'aggiornamento con i diritti "sudo" sulla console. Se chiede l'autorizzazione richiedendo una password, devi fornirla. In un momento di secondi, il tuo sistema verrà aggiornato."

$ sudo apt-get update

Allo stesso modo, devi aggiornare il tuo sistema Linux con l'utilità consigliata i.e. "Apt" con i diritti "sudo". Il processo di aggiornamento potrebbe richiedere un po 'più di tempo rispetto al processo di aggiornamento.

Questo processo potrebbe richiedere la conferma. Puoi chiamarlo un passaggio sicuro in cui ti verranno fornite informazioni relative allo spazio che questo processo richiede dal sistema. Se questo spazio non ti dà fastidio a procedere con questa installazione, usa la chiave "Y" per la conferma. Dopo questo, il tuo sistema verrà aggiornato con nuove funzionalità.

Dopo che tutti i prerequisiti necessari sono installati e configurati nel nostro sistema, è necessario configurare anche il compilatore di C. Usa il comando presentato nella console per farlo.

Esempio

Il concetto di un file è molto noto tra gli sviluppatori, specialmente quando hai lavorato molto su linguaggi di programmazione orientati agli oggetti, alcuni linguaggi strutturali e semplici linguaggi procedurali. Questo esempio C sarebbe di grande aiuto per qualsiasi sviluppatore perché la lingua C è la lingua di apprendimento più semplice per ogni studente di programmazione e preferiscono impararlo. Pertanto, stiamo iniziando questo esempio con le librerie C di base che devono essere importate in questo codice per l'utilizzo di diverse funzioni C insieme ad alcune funzioni di archiviazione.

Le prime due librerie sono le librerie standard per utilizzare le funzioni "input" e "output", mutabili e flussi nei codici. In altre parole, queste due librerie ci aiutano a creare un flusso di input dall'esterno o all'interno e genera facilmente output. Arriva il "fcntl.h ”intestazione di c. È l'intestazione principale che non possiamo perdere quando vogliamo lavorare sui file del nostro sistema.

Successivamente, l'uso di "sys/tipi.H "e" Sys/Stat.Le librerie di intestazione H "ci consentono di utilizzare diversi tipi di dati e statistiche nel codice, i.e., personaggi, indicatori, funzioni uscite (), ecc. Insieme a ciò, alcuni tipi di archiviazione possono anche essere utilizzati utilizzando le tre librerie sopra menzionate, i.e., Leggi e scrivi operazioni. Finalmente, abbiamo una stringa.h un unistd.H intestazione che viene utilizzata principalmente per utilizzare la stringa mutabile e funzioni e unicode standard nello script.

#includere
#includere
#includere
#includere
#includere
#includere
#includere

Ora, l'esecuzione di questo codice inizia quando le funzioni principali () vengono implementate nel codice. Tutte le altre funzioni correlate vengono eseguite solo dopo che sono state chiamate dalla funzione principale (). Quindi, all'interno di questa funzione principale (), abbiamo inizializzato una variabile puntatore del tipo di carattere con un valore di una lunga stringa di caratteri. È necessario supporre che dobbiamo salvare questa stringa in un file utilizzando la presentazione. Quindi, due variabili intera, "file" e "r" sono state dichiarate. All'interno della variabile "file", otterremo un valore utilizzando la funzione "crea" del deposito, i.e., La variabile "file" funziona come un descrittore di file.

La funzione Create () verrebbe utilizzata per creare un file di testo casuale chiamato "FSYNC.txt "nella cartella in cui abbiamo posizionato il nostro file di codice o stiamo lavorando. Questa funzione prende un argomento opzionale che definisce la modalità di accesso di un file da creare. Stiamo usando due opzioni, s_irusr e s_iwusr, per accedere al file in futuro, i.e., Possiamo accedervi per leggere e scrivere. Se il file venisse creato correttamente, il descrittore "file" otterrebbe in cambio "1"; altrimenti, 0 o qualsiasi altro valore negativo.

L'istruzione "if" che è stata utilizzata in questo script sta verificando se il descrittore "file" ha ottenuto un valore negativo diverso da "-1". In tal caso, ciò significa che il file non viene creato correttamente e l'istruzione Metodo Perror viene utilizzata per lanciare un'eccezione della funzione create (). L'istruzione Exit (1) sarebbe qui per porre fine al programma se la funzione create () non funziona correttamente. Allo stesso modo, la funzione Write () di C viene utilizzata per scrivere il puntatore della stringa del personaggio “A” a un file “fsync.txt "usando il descrittore" file ".

Per questo, abbiamo superato la lunghezza di una variabile da passare dall'uso della funzione Strlen (a) come terzo argomento, il descrittore "file" come primo argomento e puntatore variabile "A" come secondo argomento. Se il valore "a" venisse scritto correttamente nel file, la funzione write () restituirebbe un valore non negativo alla variabile "R", tra cui "-1". Se un valore negativo sarebbe passato alla variabile "R", l'istruzione "if" lancerebbe un errore di funzione "write ()" facendo ancora una volta l'uso della funzione "Perror". La funzione fsync () utilizza il "file" descrittore di file per far conoscere al dispositivo di archiviazione sullo stato di un "FSYNC.file txt ", i.e., vuoto, pieno o aggiornato.

int main (int argc, char *argv [])
char *a = "Benvenuti a Linux e C Programming ...";
file int, r;
file = create ("fsync.txt ", s_iwusr | s_irusr);
if (file < -1)
perror ("create ()");
uscita (1);
r = write (file, a, strlen (a));
Se (r < -1)
perror ("write ()");
uscita (1);
fsync (file);
chiudere (file);
restituzione 0;

Dopo la compilazione di file con lo strumento "GCC" ed esecuzione con "./UN.Out "comando, abbiamo aggiunto correttamente i dati a un file di testo, i.e., Secondo l'output di seguito.

Conclusione

Questo è tutto! Dopo aver attraversato l'intera guida, supponiamo che ora tu abbia una conoscenza della funzione fsync () di c senza dubbio.