Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 程序挂起或使用fork()和signal随机停止执行_C_Signals_Fork_Kill_Inter Process Communicat - Fatal编程技术网

C 程序挂起或使用fork()和signal随机停止执行

C 程序挂起或使用fork()和signal随机停止执行,c,signals,fork,kill,inter-process-communicat,C,Signals,Fork,Kill,Inter Process Communicat,我已经编写了一个程序,在其中我创建了一个子进程。父进程和子进程都分为两部分进行计算—父进程_part1、父进程_part2和子进程_part1、子进程_part2 我的目标是运行(parent_part1、child_part1、parent_part2、child_part2)序列5次。为此,我使用了while(var_child++您确定此逻辑正确吗 while(var_par++<10) while(var_par++这是我的示例输出:t1=1父第一部分t1=1子第一部分父第二

我已经编写了一个程序,在其中我创建了一个子进程。父进程和子进程都分为两部分进行计算—父进程_part1、父进程_part2和子进程_part1、子进程_part2


我的目标是运行(parent_part1、child_part1、parent_part2、child_part2)序列5次。为此,我使用了while(var_child++您确定此逻辑正确吗

  while(var_par++<10)

while(var_par++这是我的示例输出:t1=1父第一部分t1=1子第一部分父第二部分子第二部分父第一部分子第一部分父第二部分子第一部分父第二部分父第一部分子第一部分父第二部分子第二部分父第二部分子第二部分父第一部分子第一部分子第一部分父第二部分子第二部分父第二部分父第二部分子第二部分…t1=75父第一部分子第一部分父第二部分子第二部分Joe,谢谢你的回答。正如你提到的“你没有从父进程捕获信号”-但根据理解,我在父进程中使用了信号(SIGCONT,write_Parent)来缓存信号和信号(SIGCONT,write_Child);在child-to-cache信号中。我是否正确?另外,当我的程序在执行过程中被卡住时(有时它成功执行了预期的100次),我已经检查了是否有僵尸。要查看僵尸,我使用top命令和/或在其他终端ps aux | grep Z中。
  while(var_par++<10)