Hallo,
möchte die Funktion
1 | execve() |
in einem Programm benutzen. Versuche die korrekte Syntax dafür zu verstehen. Habe folgendes gefunden:
1 2 3 | char * program = "/bin/ps"; char * argv[] = {"/bin/ps","aux", NULL}; char * envp[] = {NULL}; |
Andere Screibweise ist diese hier:
1 2 3 4 5 6 | char *args[] = {"printenv", NULL}; char *env[] = { "SHELL=/bin/bash", "LOGNAME=a_username", "OSTYPE=L1NuX", NULL }; |
Also im ersten Fall gebe ich zuerst den Pfan an? Mit
1 | char * argv[] = {"/bin/ps","aux", NULL}; |
gebe ich den Pfad, den Namen des Programmes und NULL an? Was sagt mir
1 | char * envp[] = {NULL}; |
? Im zweiten Codeausschnitt
1 | char *args[] = {"printenv", NULL}; |
gebe ich an, welches Programm ich aufrufen möchte und was bedeutet
1 | char *env[] |
? Dies unterscheidet sich vor Schreibweise im ersten Fall.