C Programmering

Sådan bruges Fsync System Call i C

Sådan bruges Fsync System Call i C

Fsync bruges til at koordinere en fils kernetilstand med enhver lagerenhed. Systemopkaldet til fsync () passerer ("skyller") alt ændret kerneniveau af (i.e., ændret buffer til) filbeskrivelsen fd til en diskmaskine (eller enhver anden evigvarende lagringsenhed), hvor en sådan fil forbliver. Det renser endda filens detaljer. Fsync-systemopkaldet fungerer på en enkelt fil. Eventuelle opdateringer til filen skylles. Hvis flere opgaver redigeres til den samme fil, suspenderes fsync-systemopkaldet, før alle opdateringer er overført til disken. Hvis systemet meddeler, at konverteringen er vellykket, blokeres opkaldet. Brug af fsync () garanterer ikke, at filens inkludering i filsystemet måske også er kommet ind på disken. En passende fsync () på mappens filbeskrivelse er dog påkrævet til dette.

Installere forudsætninger:

Så fsync-systemopkaldet har brug for nogle biblioteker, der skal installeres for at arbejde på det. Hvis nogen vil kontrollere de yderligere oplysninger om kommandoen fsync, skal han / hun have manpages-dev-pakker installeret på deres Linux-system. Så vi vil se, hvordan man gør det. Brug Ctrl + Alt + T-tasten fra tastaturet til at starte Linux-kommandolinjeterminalen. Nu, for at installere pakken manpages-dev, skal du prøve nedenstående følgende apt install-kommando efterfulgt af en pakke med navnet "manpages-dev". Installationsprocessen kræver din adgangskode til Linux for at fortsætte. Så indtast din nuværende Linux-adgangskode til kontoen, og tryk på Enter-tasten fra tastaturet. Det starter hurtigt installationen og konfigurationen af ​​manpages i dit Linux-system. Læn dig tilbage, indtil det er færdig med installationsprocessen.

$ sudo apt install manpages-dev

Efter installationen kan du bruge nedenstående kommando til at kontrollere oplysningerne om fsync-systemet.

$ mand 2 fsync

Output for man-kommandoen er tilføjet nedenfor. Du kan læse enhver information om det for at forstå begrebet "fsync" -systemopkald i Linux-systemet. Tryk på “q” -knappen fra tastaturet for at lukke dette vindue.

En anden forudsætning, der kræves for at bruge fsync-systemkald-id'et GCC-compileren. Dette skyldes, at vi bruger fsync-systemopkaldet inden for C-sproget. Så for at udføre og kompilere C-sprogkode skal vi have en compiler-pakke installeret i vores system. Så her har vi en GCC-kompilator. Du kan installere det ved hjælp af den meget enkle sudo apt-kommando som nedenfor. Det vil afslutte installationen om få minutter, og du kan nemt skrive C-koder i filer.

$ sudo apt installere gcc

Eksempel:

Lad os begynde at arbejde på kommandoen fsync for at forstå det godt. Først og fremmest skal du oprette en C-type fil ved hjælp af nano-editoren i kommandolinjeskallen. Til dette, prøv at køre nedenstående enkle forespørgsel i skallen.

$ nano nyt.c

Når filen er oprettet og åbnet, er det tid til at skrive en C-kode. Så du kan se nedenstående lange kode i nano-filen. De første 7 linjer har headerfiler, der er nødvendige for at blive inkluderet i editorfilen for korrekt funktion af "fsync" -systemopkaldet. Efter disse headerfiler har vi defineret hovedfunktionen med heltalretur som "int". Denne funktion indeholder to parametre. Den ene er en heltalstype, og den anden er en karaktertypematrix. I løbet af hovedfunktionen har vi deklareret en karaktertypestreng “* str” og defineret en strengtypeværdi til den. Derefter har vi også erklæret to heltalstypevariabler, som vil blive brugt som filbeskrivere i yderligere linjer. I den næste linje har vi brugt oprette systemopkaldsfunktionen til at oprette en ny fil med navnet “test.txt ”og læse- og skriverettigheder som en forskydning i parameter. Vi har returneret dette filindhold til en filbeskrivelse “fd”. Vi har defineret if-sætning i denne C-kode. Hvis værdibeskrivelsen eller indeksmarkøren for filbeskriveren er “-1”, kaster den fejlen ved at kalde creat () -funktionen for at oprette en ny fil. Beskrivelsen “fd” mindre end “-1” betyder, at markøren er i -1 position.

Funktionen exit () kaldes inden lukningen af ​​if-sætningen. Dernæst har vi brugt skrivemetodeopkaldet til at indsamle strengværdien fra bufferen og skrive den til filtesten.txt ”ved hjælp af filbeskrivelsen“ fd ”. Disse data er returneret til variablen “ret”. Hvis værdien af ​​variablen “Ret” er mindre end -1, betyder det, at dataene ikke er skrevet til en fil. Så du skal igen ringe til skrivefunktionen og afslutte if-sætningen. Vi har defineret fsync-systemopkaldet og giver det en filbeskrivelse "fd" som en parameterværdi for at synkronisere filbeskrivelsen til en diskenhed. Når man kalder "luk" -metoden, vil den hurtigt skrive dataene ind i et diskdrev og lukke filbeskrivelsen. Derefter lukkes hovedfunktionen. Gem denne fil ved hjælp af en tastaturgenvejstast, "Ctrl + S", og luk filen "ny.c ”ved hjælp af“ Ctrl + X ”genvejstasten.

Efter at have lukket nano-filen, er det nu tid for dig at kompilere den ovenfor præsenterede kode. Til kompilering af kode skal vi bruge gcc-kompilatoren. Så udfør nedenstående gcc-forespørgsel for at kompilere det "nye.c ”-fil.

$ gcc nyt.c

Nu skal vi udføre denne kode ved hjælp af den enkle a.ud kommando i skallen som nedenfor. Denne kommando udfører simpelthen koden og returnerer intet, men dataene er skrevet til et diskdrev bag på processen.

$ ./en.ud

Kontroller den fil, der er oprettet i C-koden, og den har en strengværdi i den.

$ kat test.txt

Konklusion

Vi har kort diskuteret et meget simpelt og lineært eksempel på fsync-systemets kald til at forstå dets koncept.Jeg håber, at du nu nemt kan bruge fsync-systemopkaldet i Linux.

Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...
Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...