В универе в рамках курса по Unix даны задания на лабу, скажу скажу, что предлагать смотреть в лекциях смысла нет, лекций нет, предмет оставлен на самостоятельное обучение.
Задание
Процесс 1 открывает файл и порождает потомка 2, после этого пишет в файл N байт, закрывает его и завершается. Потом процесс 2 пишет N байт в файл, закрывает файл и завершается. Для определения очередности записи использовать функцию fstat.
Код (см. ниже) как и я ожидал не работает
#include <unistd.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
pid_t pid;
pid=fork();
if (pid==0)
{
waitpid(getppid(), NULL,0);
printf("Завершился дочерний процесс\n");
}
if (pid!=0)
{
sleep(2);
printf("Завершился родительский процесс\n");
}
_exit(0);
}