* Systemmanagement und Sicherheit * Uebung 2 * * Philip Schneider * * Beschreibung: Fork, Exec * * Aufruf: ./start programmname argument1 argument2 argument3 * Bsp: ./start ls -l */ #include #include #include /* http://www.pronix.de/pronix-162.html */ /* http://www.csl.mtu.edu/cs4411/www/NOTES/process/fork/create.html */ int main(int argc, char** argv){ /* Variablen anlegen */ int i; char *argumente[10]; /* char *argumente[argv-2] ist nicht erlaubt, wirft eine warning */ pid_t pid; /* Sohnprozess erzeugen */ /* fork(); */ switch(fork()){ case 0: { /* child code */ printf("Child Code ...\n"); /* ProcessID des Sohnprozesses abfragen */ pid = getppid(); printf("PID = %d\n",pid); /* Array Kopieren um es mit Execvp ausfuehren zu koennen */ /* Kopieren ist notwendig da hier ein komplettes Array uebergeben werden muss */ for (i=0; i