私がやりたいことは、5 秒間続く親プロセスを作成することです。SIGUSR1
また、毎秒信号を送信したいと考えています。この信号で、私は子供に何かをしてもらいたい.
これまでにまとめたコードは次のとおりです。
void alarmHandler(int sig) {
printf("\nalarm called\n");
exit(0);
}
void childHandler(int sig) {
printf("child called");
signal(SIGUSR1, childHandler);
}
int main() {
pid_t val;
if((val = fork())) { //parinte
signal(SIGALRM, alarmHandler);
printf("parent");
alarm(5);
while(1) {
kill(val, SIGUSR1);
sleep(1);
}
}else {
signal(SIGUSR1, childHandler);
printf("child");
}
return 0;
}
私が得るものは次のとおりです。
child
parent
alarm called
私が欲しいもの:
child
parent
child called
child called
child called
child called
child called
alarm called