C Programmering

Hur man använder Fsync-systemanrop i C

Hur man använder Fsync-systemanrop i C

Fsync används för att samordna en fils kärnstatus med vilken lagringsenhet som helst. Systemanropet fsync () passerar ("spolar") allt förändrat kärninnehåll i (i.e., ändrad buffert för) filbeskrivaren fd till en skivmaskin (eller någon annan evig lagringsenhet) där en sådan fil finns kvar. Det rensar till och med filens detaljer. Fsync-systemanropet fungerar på en enda fil. Eventuella uppdateringar av filen kommer att spolas. Om flera uppgifter redigeras till samma fil kommer fsync-systemanropet att avbrytas innan alla uppdateringar har överförts till skivan. Om systemet meddelar att konverteringen lyckas blockeras samtalet. Att använda fsync () garanterar inte att filens inkludering i filsystemet kanske också har gått in på skivan. En lämplig fsync () i mappens filbeskrivare krävs dock för detta.

Installera förutsättningar:

Så fsync-systemanropet kräver att några bibliotek installeras för att arbeta med det. Om någon vill kontrollera ytterligare information angående kommandot fsync måste han / hon ha manpages-dev-paket installerade på sitt Linux-system. Så vi får se hur man gör det. Använd Ctrl + Alt + T-tangenten från tangentbordet för att starta Linux-kommandoradsterminalen. För att installera manpages-dev-paketet, testa nedanstående apt install-kommando, följt av ett paket med namnet "manpages-dev". Installationsprocessen kräver att ditt kontolösenord för att Linux ska fortsätta. Så ange ditt nuvarande konto Linux-lösenord och tryck på Enter-tangenten från tangentbordet. Det kommer snabbt att starta installationen och konfigurera manpages i ditt Linux-system. Luta dig tillbaka tills installationen är klar.

$ sudo apt install manpages-dev

Efter installationen kan du använda kommandot nedan för att kontrollera informationen om fsync-systemet.

$ man 2 fsync

Utdata för man-kommandot bifogas nedan. Du kan läsa all information om den för att förstå begreppet ”fsync” -systemanropet i Linux-systemet. Tryck på “q” -knappen från tangentbordet för att avsluta det här fönstret.

En annan förutsättning som krävs för att använda fsync-systemets anrop-id GCC-kompilatorn. Detta beror på att vi använder fsync-systemanropet inom C-språket. Så för att köra och kompilera C-språkkod måste vi ha något kompilatorpaket installerat i vårt system. Så här har vi en GCC-kompilator. Du kan installera det med det mycket enkla sudo apt-kommandot enligt nedan. Det kommer att slutföra installationen på några minuter och du kan enkelt skriva C-koder i filer.

$ sudo apt installera gcc

Exempel:

Låt oss börja arbeta med kommandot fsync för att förstå det väl. Först och främst måste du skapa en C-typfil med hjälp av nano-redigeraren i kommandoradsskalet. För detta, försök att köra nedanstående enkla fråga i skalet.

$ nano nytt.c

När filen har skapats och öppnats är det dags att skriva lite C-kod. Så du kan se nedanstående långa kod i nano-filen. De första 7 raderna har rubrikfiler som är nödvändiga för att ingå i redigeringsfilen för att "fsync" -systemanropet ska fungera korrekt. Efter dessa rubrikfiler har vi definierat huvudfunktionen med heltalstyp som "int". Denna funktion innehåller två parametrar. En av dem är en heltalstyp, och den andra är en teckentypmatris. I huvudfunktionens utrymme har vi förklarat en teckentypsträng “* str” och definierat ett strängtypvärde för den. Efter det har vi också deklarerat två variabler av heltalstyp som kommer att användas som filbeskrivare i ytterligare rader. I nästa rad har vi använt funktionen skapa systemanrop för att skapa en ny fil med namnet “test.txt ”och läs- och skrivbehörigheter som en förskjutning i parametern. Vi har returnerat filinnehållet till en filbeskrivare “fd”. Vi har definierat if uttalande i denna C-kod. Om värdet eller indexpekaren för filbeskrivaren är “-1” kommer det att kasta felet att anropa creat () -funktionen för att skapa en ny fil. Beskrivningen "fd" mindre än "-1" betyder att pekaren är i -1-position.

Funktionen exit () kommer att anropas innan if-uttalandet stängs. Därefter har vi använt anropet för skrivmetod för att samla in strängvärdet från bufferten och skriva det till filtestet.txt ”med filbeskrivaren“ fd ”. Dessa data har returnerats till variabeln “ret”. Om värdet på variabeln “Ret” är mindre än -1 betyder det att data inte har skrivits till en fil. Så du måste åter anropa skrivfunktionen och avsluta if-uttalandet. Vi har definierat fsync-systemanropet och ger det en filbeskrivare "fd" som ett parametervärde för att synkronisera filbeskrivaren till en skivenhet. När du anropar "stäng" -metoden kommer den snabbt att skriva in data till en hårddisk och stänga filbeskrivaren. Därefter stängs huvudfunktionen. Spara den här filen med en snabbtangent, "Ctrl + S", och stäng filen "ny.c ”med kortkommandot“ Ctrl + X ”.

Efter att ha stängt nano-filen är det dags för dig att sammanställa den ovan presenterade koden. För sammanställning av kod måste vi använda gcc-kompilatorn. Så kör nedanstående gcc-fråga för att kompilera den ”nya.c ”-fil.

$ gcc nytt.c

Nu måste vi köra den här koden med det enkla a.kommandot i skalet enligt nedan. Detta kommando kör helt enkelt koden och returnerar ingenting, men data har skrivits till en hårddisk på baksidan av processen.

$ ./ a.ut

Kontrollera filen som har skapats i C-koden och den har ett strängvärde.

$ cat test.Text

Slutsats

Vi har kort diskuterat ett mycket enkelt och linjärt exempel på fsync-systemets samtal för att förstå dess koncept.Jag hoppas att du nu enkelt kan använda fsync-systemanropet i Linux.

Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...