Помогите с задачей.Как проверить размер файла?
Процесс 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;
}