En este artículo, voy a hablar sobre la familia ejecutiva de funciones y le mostraré cómo usar cada una de estas funciones familiares ejecutivas en c. Entonces empecemos.
C Funciones del sistema en la familia ejecutiva:
Las familias de la función ejecutiva se definen en el encabezado unistd.H. Por lo tanto, debe usar este encabezado en el programa C donde desea usar estas funciones.
Las funciones EXEC disponibles junto con sus parámetros de función se dan a continuación:
Veamos qué hacen cada una de estas funciones y cómo usarlas.
Función del sistema execl ():
En execl () la función del sistema toma la ruta del archivo binario ejecutable (i.mi. /bin/ls) como el primer y segundo argumento. Entonces, los argumentos (yo.mi. -LH, /hogar) que desea pasar al ejecutable seguido de NULO. Luego, la función del sistema EXECL () ejecuta el comando e imprime la salida. Si ocurre algún error, entonces execl () devuelve -1. De lo contrario, no devuelve nada.
A continuación se proporciona un ejemplo de la función del sistema Execl ():
#incluirCorrí el LS -LH /Inicio comando usando la función del sistema execl (). Como puede ver, se muestra el resultado correcto.
Función del sistema execlp ():
execl () no usa el CAMINO Variable ambiental. Por lo tanto, se requiere la ruta completa del archivo ejecutable para ejecutarlo con execl (). execlp () utiliza la variable de entorno de ruta. Entonces, si un archivo o comando ejecutable está disponible en la ruta, entonces el comando o el nombre de archivo es suficiente para ejecutarlo, la ruta completa no es necesaria.
Podemos reescribir el ejemplo execl () utilizando la función del sistema Execlp () de la siguiente manera:
#incluirSolo pasé el nombre del comando LS, No es el camino completo /bin/ls. Como puede ver, obtuve la misma salida que antes.
Función del sistema execv ():
En la función execl (), los parámetros del archivo ejecutable se pasan a la función como diferentes argumentos. Con execv (), puede pasar todos los parámetros en una matriz terminada nula argv. El primer elemento de la matriz debe ser la ruta del archivo ejecutable. De lo contrario, la función EXECV () funciona como la función EXECL ().
Podemos reescribir el ejemplo execl () de la siguiente manera:
#incluirComo puede ver, estoy obteniendo la salida correcta.
Función del sistema execvp ():
Funciona de la misma manera que la función del sistema Execv (). Pero, la variable de entorno de ruta se usa. Por lo tanto, la ruta completa del archivo ejecutable no se requiere tal como en execlp ().
Podemos reescribir el ejemplo execv () de la siguiente manera:
#incluirComo puede ver, se muestra la salida correcta.
Función del sistema Execle ():
Funciona al igual que execl () pero puede proporcionar sus propias variables de entorno junto con ella. Las variables de entorno se pasan como una matriz envidiar. El último elemento del envidiar la matriz debe ser nula. Todos los demás elementos contienen los pares de valor clave como cadena.
A continuación se da un ejemplo de la función del sistema Execle ():
#incluirPasé dos variables de entorno Nombre de host y PUERTO a la función Execle (). Como puede ver, puedo acceder a ellos desde el ejecutable /bin/bash.
Función del sistema EXECVE ():
Al igual que Execle () puede proporcionar sus propias variables de entorno junto con ExecVe (). También puede aprobar argumentos como matrices como lo hizo en execv ().
El ejemplo Execle () se puede reescribir de la siguiente manera:
#incluirComo puede ver, obtenemos la misma salida que en el ejemplo Execle ().
Entonces, así es como usa la familia de funciones exec en C para la programación del sistema en Linux. Gracias por leer este artículo.