Помогите с задачей.Как проверить размер файла?

Процесс 1 открывает файл и порождает потомка 2, который в свою очередь порождает потомка 3.Процессы 2 и 3 пишут в общий файл, причем процесс 3 не может начать писать раньше, чем процесс 2. Организовать очередность с помощью сигналов. Как только размер файла превысит N байт, процесс 1 посылает потомкам сигнал SIG2 о завершении работы, считывает данные из файла и выводит их на экран.

Как проверить размер файла?

#include<stdio.h>
    #include<unistd.h>
    #include<stdlib.h>
    #include<signal.h>
    #include<string.h>

int main() {

    FILE *file;
    file = fopen("test.txt","w"); 
    int pid2, pid3, st; 
    /* process 1 */
    printf("I'm PARENT process, my PID is %d\n", getpid());

    pid2 = fork(); 
    //создаем дочерний процесс от P1

    if (pid2 == 0) { 
    printf("I'm FIRST_CHILD, my parent is PARENT and my PID is %d\n", getpid());
    pid3 = fork(); 

    //создаем дочерний процесс от P2


    if (pid3 == 0) { 
    printf("I'm SECOND_CHILD, my parent is FIRST_CHILD. My PID is %d\n", getpid());
    sleep(5);
    printf("SECOND_CHILD is finished\n"); 
    } 

    sleep(2);
    printf("FIRST_CHILD is finished\n");
    }

    printf("PARENT is finished\n");

     //Закрываем файл
    fclose(file);

    return 0;
    }

Ответы (0 шт):