发布网友
共2个回答
热心网友
1、首先需要使用connect函数将信号和槽关联起来。
2、发送信号一般使用emit fa(参数)这样的形式。不过我想你这样的代码也是对的。
3、有个if(pid==0)的处理,还要有个对应else的处理,在else中也要发送信号。
才疏学浅,希望能抛砖引玉。主要是参与一下,学习学习,呵呵!追问
热心网友
我刚刚自己调试了下。发现是信号发太早的原因。
因为创建子程序跟注册函数都需要时间,
所以父进程发送信号kill(pid,50)时,子进程还没有执行signal(50,fa);
解决办法:18,19行间。加个int i; for(i=0;i<60000;i++);
18 printf("父进程发送信号\n");
19 kill(pid,50);