Мне нужно написать программу на C, которая создает 10 дочерних процессов, каждый из которых пишет сообщение при создании.Также родитель должен напечатать сообщение, когда один из детей завершается.
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
void CHLDhandler(int);
int main(int argc, char const *argv[]){
pid_t p;
signal(SIGCHLD,&CHLDhandler);
for(int i=0; i < 10; i++){
p = fork();
if ( p == (pid_t) 0 ) {
/* child */
signal(SIGCHLD, SIG_IGN);
printf("Child number %d was born!\n",i);
return 0;
}
else if ( p > (pid_t) 0 ) {
/* parent */
}
}
}
void CHLDhandler(int sig){
printf("Child finished\n");
}
Это мой код.В Linux он работает нормально, но в MacOS я получаю сообщение об ошибке Illegal Hardware Instruction. Сообщение об ошибке