1
私の子プロセスは動作しません。信号を渡してreadUsual
関数を実行する必要があります。
これは小さなコードです:親プロセスからCの子に信号を送信
int main()
{
pid_t pid2 = fork();
if (pid2 < 0)
printf("Can't create child process\n");
else if (pid2==0)
{
//this block never execute
printf("Process2, pid=%d\n",getpid());
signal(SIGUSR1,readUsual);
}
else
{
kill(pid2,SIGUSR1);
printf("%s\n","Proccess1 end");
for(;;);
}
return 0;
}
なたはシグナルハンドラからのprintfなかれ。 – alk
@alk私は知らなかった、現在DuckDuckGoingそれ。 – jdarthenay
afkのコメントを理解するには:http://stackoverflow.com/a/9547988/5845470 – jdarthenay