В чем разница между wait(null) и wait(&status) в c системном программировании?
И каково содержание статуса указателя?
Ответ 1
Если вы вызываете wait(NULL) (wait (2)), вы ждете, пока не закончится какой-либо ребенок. С помощью wait(&status) вы ждете, пока ребенок закончится, но вы хотите узнать некоторую информацию об этом прекращении.
Вы можете узнать, нормально ли заканчивается, например, с WIFEXITED(status).
status содержит информацию о процессах, которые вы можете проверить с помощью некоторых уже определенных MACRO.
Ответ 2
wait(NULL) будет ждать только до завершения дочернего процесса.
Но,
wait(&status) вернет идентификатор процесса дочернего процесса, который завершен.
pid = wait(&status); // the information is returned