GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué significan P y E en la familia de llamadas Exec?

l y v en las llamadas exec indican si los argumentos se proporcionan a través de una lista o array(vector) . Lo leí en alguna parte que p denota la ruta del usuario y e denotan el entorno pero no entendieron lo que eso significa?

Respuesta aceptada:

Consulte este enlace de Wikipedia sobre la función Exec y este enlace sobre Iniciar un proceso con las llamadas exec()

e – Una matriz de punteros a las variables de entorno se pasa explícitamente a la nueva imagen del proceso.

Las versiones con el sufijo “e” pasan un entorno al programa. Un
entorno es solo eso:una especie de "contexto" para que el programa
opere. Por ejemplo, puede tener un corrector ortográfico que tenga un
diccionario de palabras. En lugar de especificar la ubicación del diccionario
cada vez en la línea de comandos, puede proporcionarla en el entorno
:

l:los argumentos de la línea de comandos se pasan individualmente (una lista) a la función.

Por ejemplo, si quiero invocar el comando ls con los argumentos -t,
-r y -l (que significa "ordenar la salida por tiempo, en orden inverso, y mostrarme la versión larga de la salida" ), podría especificarlo como
cualquiera.

p:utiliza la variable de entorno PATH para encontrar el archivo nombrado en el argumento de la ruta que se va a ejecutar.

Las versiones con el sufijo “p” buscarán en los directorios de su variable de entorno PATH
para encontrar el ejecutable. Probablemente haya notado
que todos los ejemplos tienen una ubicación codificada para el ejecutable:
/bin/ls y /usr/bin/spellcheck. ¿Qué pasa con otros ejecutables? A menos que
desee primero averiguar la ruta exacta para ese programa en particular,
sería mejor que el usuario le diga a su programa todos los lugares para
buscar ejecutables. La variable de entorno PATH estándar hace
precisamente eso.

v – Los argumentos de la línea de comandos se pasan a la función como una matriz (vector) de punteros.

La lista de argumentos se especifica a través de un puntero a un vector de argumento.

Como se mencionó en la otra respuesta, este enlace en Unix System Calls también es igualmente impresionante para leer más.

Relacionado:$PWD? (frente al directorio de trabajo actual)?
Linux
  1. ¿Qué es un Makefile y cómo funciona?

  2. ¿Qué hace “lc_all=c”?

  3. ¿Qué significa -s y [[]] en una condición If en Bash?

  4. ¿Qué es el DNS y cómo funciona?

  5. ¿Cuál es la diferencia entre las funciones de la familia exec de llamadas al sistema como exec y execve?

Comando de archivo de Linux:qué hace y cómo usarlo

¿Qué significa nulo en Linux y Computación?

PDF Split and Merge 'PDFSAM' hace exactamente lo que dice

¿Qué son las llamadas al sistema Linux y las funciones de biblioteca?

¿Qué hace `exec [email protected]`?

¿Qué significa NT_STATUS_BAD_NETWORK_NAME en Samba?