O que p e e denotam em exec family of calls?

4

l e v nas chamadas exec indicam se os argumentos são fornecidos por lista ou array(vector) . Eu li em algum lugar que p denota o caminho do usuário e e denota o ambiente, mas não entendeu o que isso significa?

    
por saurav1405 23.07.2015 / 20:34

2 respostas

9

Verifique este link da Wikipedia sobre a função Exec e este link em Iniciando um processo com as chamadas exec ()

e - Uma matriz de ponteiros para variáveis de ambiente é passada explicitamente para a nova imagem do processo.

The "e" suffix versions pass an environment to the program. An environment is just that—a kind of "context" for the program to operate in. For example, you may have a spelling checker that has a dictionary of words. Instead of specifying the dictionary's location every time on the command line, you could provide it in the environment:

l - Os argumentos da linha de comando são passados individualmente (uma lista) para a função.

For example, if I want to invoke the ls command with the arguments -t, -r, and -l (meaning "sort the output by time, in reverse order, and show me the long version of the output"), I could specify it as either.

p - Usa a variável de ambiente PATH para encontrar o arquivo nomeado no argumento do caminho a ser executado.

The "p" suffix versions will search the directories in your PATH environment variable to find the executable. You've probably noticed that all the examples have a hard-coded location for the executable: /bin/ls and /usr/bin/spellcheck. What about other executables? Unless you want to first find out the exact path for that particular program, it would be best to have the user tell your program all the places to search for executables. The standard PATH environment variable does just that.

v - Os argumentos da linha de comando são passados para a função como uma matriz (vetor) de ponteiros.

The argument list is specified via a pointer to an argument vector.

Como mencionado na outra resposta, este link em Unix System Calls também é igualmente impressionante para leitura adicional.

    
por 23.07.2015 / 20:43
2

De acordo com o link , os sufixos indicam o tipo de argumentos:

    l  argn is specified as a list of arguments.

    v  argv is specified as a vector (array of character pointers).

    e  environment is specified as an array of character pointers.

    p  user's PATH is searched for command, and command can be a shell program
    
por 23.07.2015 / 20:39