Я должен создать программу на C, которая будет взаимодействовать между двумя процессами по SIGUSR1.Эта программа должна отвечать обратно при отправке и получении сигнала.У меня есть код ниже, но он просто посылает сигнал, почему функция приема не работает?
IMG
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
void send_SIGUSR1();
void main()
{
int pid;
if ((pid = fork()) < 0) {
perror("Fork");
exit(1);
}
if (pid == 0) {
signal(SIGUSR1, send_SIGUSR1());
}
else
{
printf("\nPARENT: sending SIGUSR1\n\n");
kill(pid, SIGUSR1);
}
}
void send_SIGUSR1()
{
signal(SIGUSR1, send_SIGUSR1);
printf("CHILD: I have received a SIGUSR1\n");
}