Llamada del sistema FSYNC en C

Llamada del sistema FSYNC en C

“Es posible que haya escuchado mucho sobre la estructura básica del lenguaje C y su simplicidad porque la mayoría de los desarrolladores tienden a aprenderlo primero antes de aprender cualquier otro idioma. Tiene una llamada o función del sistema fsync () que descarga (pasa) todas las actualizaciones del disco para reflejar los cambios realizados en un archivo. Además, la función FSYNC detiene el proceso de descarga hasta que se realizaron todas las actualizaciones que tienen lugar por varios procesos en un solo archivo, y luego la descarga ocurriría utilizando la llamada de función FSYNC (). Este artículo demostrará el funcionamiento de la función fsync () en el idioma C.

Cualquier sistema en el que haya estado trabajando o instalado su entorno de codificación debe actualizarse y actualizarse para que se puedan encontrar bien los nuevos errores, y podamos evitar cualquier inconveniente. Por lo tanto, se recomienda actualizar su sistema, especialmente el sistema Linux, antes y después de cualquier instalación y configuración. Por lo tanto, la utilidad "apt" es la mejor para actualizar con los derechos "sudo" en la consola. Si solicita su permiso solicitando una contraseña, debe proporcionarla. En un momento de segundos, su sistema se actualizará."

$ sudo apt-get actualización

De la misma manera, debe actualizar su sistema Linux con la utilidad recomendada I.mi. "Apt" con derechos de "sudo". El proceso de actualización puede llevar un poco más de tiempo que el proceso de actualización.

Este proceso puede requerir confirmación. Puede llamarlo un paso seguro en el que se le proporcionará información sobre el espacio que este proceso requiere de su sistema. Si tanto espacio no le molesta a continuar con esta instalación, use la tecla "Y" para confirmación. Después de esto, su sistema se actualizará con nuevas funciones.

Después de que todos los requisitos previos necesarios se instalen y configuren en nuestro sistema, es necesario configurar el compilador de C también. Use el comando presentado en la consola para hacerlo.

Ejemplo

El concepto de un archivo es muy conocido entre los desarrolladores, especialmente cuando ha trabajado mucho en lenguajes de programación orientados a objetos, algunos lenguajes estructurales y lenguajes de procedimiento simples. Este ejemplo de C sería de gran ayuda para cualquier desarrollador porque el lenguaje C es el lenguaje de aprendizaje más básico para cada estudiante de programación, y prefieren aprenderlo. Por lo tanto, estamos iniciando este ejemplo con las bibliotecas C básicas que deben importarse a este código para usar diferentes funciones C junto con algunas funciones de presentación.

Las dos primeras bibliotecas son las bibliotecas estándar para usar las funciones de "entrada" y "salida", mutables y transmisiones en los códigos. En otras palabras, estas dos bibliotecas nos ayudan a crear un flujo de entrada desde el exterior o el interior y generar salidas fácilmente. Viene el "fcntl.H ”encabezado de C. Es el encabezado principal que no podemos perder cuando queremos trabajar en archivos desde nuestro sistema.

Después de eso, el uso de "sys/tipos.H "y" SYS/STAT.Las bibliotecas de encabezado h "nos permiten usar diferentes tipos de datos y estadísticas en el código, i.mi., Personajes, punteros, funciones de salida (), etc. Junto con eso, algunos tipos de archivo también se pueden utilizar utilizando las tres bibliotecas mencionadas anteriormente, I.mi., Leer y escribir operaciones. Por fin, tenemos una cadena.H un unistd.H encabezado que se usa principalmente para usar cadena mutable y funciones y unicode estándar en el script.

#incluir
#incluir
#incluir
#incluir
#incluir
#incluir
#incluir

Ahora, la ejecución de este código comienza cuando las funciones main () se implementan en el código. Todas las otras funciones relacionadas solo se ejecutan después de que se hayan llamado desde la función Main (). Entonces, dentro de esta función main (), hemos estado inicializando una variable de puntero de tipo de caracteres con un valor de una larga cadena de caracteres. Debe asumir que tenemos que guardar esta cadena en un archivo utilizando la presentación. Luego, se declararon dos variables enteros, "archivo" y "r". Dentro de la variable "Archivo", obtendremos un valor utilizando la función "Crear" de la presentación, I.mi., La variable "archivo" funciona como un descriptor de archivo.

La función create () se usaría para crear un archivo de texto aleatorio llamado "FSYNC.txt "en la carpeta donde hemos colocado nuestro archivo de código o estamos trabajando. Esta función toma un argumento opcional que define el modo de acceso de un archivo que se creará. Estamos utilizando dos opciones, S_IRUSR y S_IWUSR, para acceder al archivo en el futuro, i.mi., Podemos acceder a él para leer y escribir. Si el archivo se creó con éxito, el descriptor "Archivo" obtendría "1" a cambio; de lo contrario, 0 o cualquier otro valor negativo.

La declaración "IF" que se ha utilizado en este script es verificar si el descriptor "Archivo" obtuvo algún valor negativo que no sea "-1". Si es así, esto significa que el archivo no se crea con éxito, y la instrucción del método de Perror se utiliza para lanzar una excepción de función create (). La declaración de salida (1) estaría aquí para finalizar el programa si la función creat () no funciona correctamente. Del mismo modo, la función Write () de C se usa para escribir el puntero de cadena de caracteres "A" en un archivo "FSYNC.txt "usando el descriptor" archivo ".

Para esto, hemos pasado la longitud de una variable que se transmitirá mediante el uso de la función Strlen (a) como el tercer argumento, el descriptor "Archivo" como el primer argumento y el puntero de la variable "A" como el segundo argumento. Si el valor "A" se escribió con éxito en el archivo, la función Write () devolvería algún valor no negativo a la variable "R", incluida "-1". Si se pasaría algún valor negativo a la variable "R", la instrucción "si" arrojaría un error de la función "Write ()" haciendo uso de la función "Perror" una vez más. La función fsync () utiliza el descriptor de archivo "archivo" para informar el dispositivo de almacenamiento sobre el estado de un "FSYNC.archivo txt ", yo.mi., vacío, lleno o actualizado.

int main (int argc, char *argv [])
char *a = "Bienvenido a la programación de Linux y C ...";
INT archivo, r;
file = create ("fsync.txt ", s_iwusr | s_irusr);
if (archivo < -1)
perror ("create ()");
salida (1);
r = write (archivo, a, strlen (a));
if (r < -1)
perror ("write ()");
salida (1);
fsync (archivo);
cerrar el archivo);
regresar 0;

Después de la compilación de archivos con la herramienta y ejecución "GCC" con el "./a.Out "Utilidad de comando, hemos agregado con éxito los datos a un archivo de texto, I.mi., Según la salida a continuación.

Conclusión

Eso es todo! Después de pasar por toda la guía, asumimos que ahora tiene todo el conocimiento sobre la función fsync () de C sin ninguna duda.