What is the difference between wait(null)
and wait(&status)
in c system programming?
And what is the content of the pointer status ?
wait(NULL)
will only wait until the child process is completed.
But,
wait(&status)
will return the process id of the child process that is terminated.
pid = wait(&status); // the information is returned
If you call wait(NULL)
(wait(2)), you only wait for any child to terminate. With wait(&status)
you wait for a child to terminate but you want to know some information about it's termination.
You can know if the child terminate normally with WIFEXITED(status)
for example.
status
contains information about processes that you can check with some already defined MACRO.