Pengaturcaraan C

Cara Menggunakan Panggilan Sistem Fsync di C

Cara Menggunakan Panggilan Sistem Fsync di C

Fsync digunakan untuk mengkoordinasikan keadaan inti fail dengan sebarang peranti storan. Lulus panggilan sistem fsync () (“flushes”) semua kandungan inti yang diubah dari (i.e., buffer yang diubah untuk) deskriptor fail fd ke mesin cakera (atau peranti penyimpanan lain yang tetap) di mana fail tersebut tetap ada. Ia bahkan membersihkan perincian fail. Panggilan sistem fsync berfungsi pada satu fail. Sebarang kemas kini ke fail akan dihapus. Sekiranya beberapa tugas diedit ke fail yang sama, panggilan sistem fsync akan ditangguhkan sebelum semua kemas kini dipindahkan ke cakera. Sekiranya sistem mengumumkan bahawa penukaran berjaya, panggilan akan disekat. Menggunakan fsync () tidak menjamin bahawa mungkin kemasukan fail dalam sistem fail juga memasuki cakera. Walau bagaimanapun, diperlukan fsync () pada deskriptor fail folder.

Pasang Prasyarat:

Oleh itu, panggilan sistem fsync memerlukan beberapa perpustakaan untuk dipasang untuk mengusahakannya. Sekiranya seseorang ingin memeriksa maklumat tambahan mengenai perintah fsync, dia mesti memasang pakej manpages-dev pada sistem Linux mereka. Oleh itu, kita akan melihat bagaimana melakukannya. Gunakan kekunci Ctrl + Alt + T dari papan kekunci untuk melancarkan terminal baris perintah Linux. Sekarang, untuk memasang pakej manpages-dev, cubalah perintah apt install berikut, diikuti dengan pakej bernama "manpages-dev". Proses pemasangan memerlukan kata laluan akaun anda agar Linux dapat diteruskan. Oleh itu, masukkan kata laluan Linux akaun semasa anda dan tekan kekunci Enter dari papan kekunci. Dengan cepat akan memulakan pemasangan dan mengkonfigurasi halaman dalam sistem Linux anda. Duduk sehingga selesai proses pemasangan.

$ sudo apt install manpages-dev

Selepas pemasangan, anda boleh menggunakan arahan di bawah ini untuk memeriksa maklumat mengenai sistem fsync.

$ lelaki 2 fsync

Keluaran untuk arahan lelaki dilampirkan di bawah. Anda boleh membaca maklumat yang berkaitan dengannya untuk memahami konsep panggilan sistem "fsync" dalam sistem Linux. Tekan butang "q" dari papan kekunci untuk keluar dari tetingkap ini.

Prasyarat lain yang diperlukan untuk menggunakan id panggilan sistem fsync penyusun GCC. Ini kerana kami menggunakan panggilan sistem fsync dalam bahasa C. Oleh itu, untuk melaksanakan dan menyusun kod bahasa C, kita mesti memasang beberapa pakej penyusun di dalam sistem kita. Jadi, di sini kita mempunyai penyusun GCC. Anda boleh memasangnya dengan menggunakan perintah sudo apt yang sangat sederhana seperti di bawah. Ia akan menyelesaikan pemasangannya dalam beberapa minit, dan anda boleh menulis kod C dalam fail dengan mudah.

$ sudo apt pasangkan gcc

Contoh:

Mari mulakan arahan fsync untuk memahaminya dengan baik. Pertama sekali, anda mesti membuat fail jenis-C menggunakan penyunting nano di shell baris perintah. Untuk ini, cuba jalankan pertanyaan mudah di bawah di shell.

$ nano baru.c

Setelah fail dibuat dan dibuka, sudah tiba masanya untuk menulis beberapa kod C. Oleh itu, anda dapat melihat kod panjang di bawah dalam fail nano. 7 baris pertama mempunyai fail header yang perlu dimasukkan ke dalam file editor untuk berfungsi dengan baik dalam panggilan sistem "fsync". Setelah fail header ini, kami telah menentukan fungsi utama dengan jenis pengembalian integer sebagai "int". Fungsi ini mengandungi dua parameter. Salah satunya ialah jenis bilangan bulat, dan yang lain ialah susunan jenis watak. Di ruang fungsi utama, kami telah menyatakan string jenis karakter "* str" dan mendefinisikan nilai jenis string untuknya. Selepas itu, kami juga telah menyatakan dua pemboleh ubah jenis integer yang akan digunakan sebagai penerangan fail dalam baris selanjutnya. Di baris berikutnya, kami telah menggunakan fungsi membuat sistem panggilan untuk membuat file baru bernama “test.txt ”dan hak baca dan tulis sebagai pengimbangan parameter. Kami telah mengembalikan kandungan fail ini ke deskriptor file "fd". Kami telah menentukan pernyataan jika dalam kod C ini. Jika nilai atau penunjuk indeks dari deskriptor file adalah "-1", ia akan menyebabkan kesalahan untuk memanggil fungsi creat () untuk membuat fail baru. Penerangan "fd" kurang daripada "-1" bermaksud penunjuk berada pada kedudukan -1.

Fungsi keluar () akan dipanggil sebelum penutupan pernyataan if. Selanjutnya, kami telah menggunakan panggilan metode tulis untuk mengumpulkan nilai string dari buffer dan menulisnya ke file “test.txt "menggunakan deskriptor fail" fd ". Data ini telah dikembalikan ke pemboleh ubah "ret". Sekiranya nilai pemboleh ubah "Ret" kurang dari -1, ini bermakna data belum ditulis ke fail. Oleh itu, anda perlu memanggil semula fungsi tulis dan keluar dari pernyataan if. Kami telah menentukan panggilan sistem fsync dan memberikannya deskriptor file "fd" sebagai nilai parameter untuk menyegerakkan deskriptor file ke perangkat disk. Setelah memanggil kaedah "tutup", data akan cepat ditulis ke dalam pemacu cakera dan menutup deskriptor fail. Selepas itu, fungsi utama akan ditutup. Simpan fail ini menggunakan kekunci pintasan papan kekunci, "Ctrl + S," dan tutup fail "baru.c ”menggunakan kekunci pintasan“ Ctrl + X ”.

Setelah menutup fail nano, kini saatnya anda menyusun kod yang ditunjukkan di atas. Untuk penyusunan kod, kita harus menggunakan penyusun gcc. Jadi, jalankan pertanyaan gcc di bawah ini untuk menyusun “baru.fail c ”.

$ gcc baru.c

Sekarang, kita harus melaksanakan kod ini dengan menggunakan a.perintah keluar di shell seperti di bawah. Perintah ini hanya akan melaksanakan kod dan tidak mengembalikan apa-apa, tetapi data telah ditulis ke pemacu cakera di belakang proses.

$ ./ a.keluar

Periksa fail yang telah dibuat dalam kod C, dan ada nilai rentetan di dalamnya.

$ ujian kucing.txt

Kesimpulannya

Kami telah secara ringkas membincangkan contoh panggilan sistem fsync yang sangat sederhana dan linear untuk memahami konsepnya.Saya harap sekarang anda dapat menggunakan panggilan sistem fsync dengan mudah di Linux.

Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Sekiranya anda suka bermain permainan di Linux dengan gamepad dan bukannya sistem input papan kekunci dan tetikus biasa, ada beberapa aplikasi berguna...
Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...