After calling exec, is it possible to print a message, because I tried and nothing happened. I read some articles about exec but I couldn’t find my answer. It replaces the process image with a new one but not creating a new process. Is it something about it? Does it wait for something I mean if I use it in child process, so does it wait for ending child process?
I can give this example:
char *args[6] = { "cat","-b","-t","-v",argv[1],0};
else if(pid == 0){
printf("Child Process ID:%d, Parent ID:%d, Process
Group:%d\n",getpid(),getppid(),getgid());
execv("/bin/cat",args);
printf("AHMET TANAKOL\n");
}
The
execfamily, like you already read, replaces the process image. That is, it loads the new program, removes your program, and start running the new program in place of your program.No call to
execfunctions ever returns, unless there is an error.