将PID从孩子转移到父母
pass back the pid from child to parent
我正在编写一个C 程序,该程序允许在后台运行多个程序,并同时进行mangament。
它假设打印一条消息,即某些背景程序已经完成。由于我无法在子过程中直接打印完成填充味精,因此我尝试使用parent中的wait((来打印它,但我无法获得孩子的pid,所以输出sg是错误的。
。有什么方法让我得到孩子pid并由父母打印?
if(cmdline=="bg"){//bg
pid=fork();
if (pid == 0){ // child process
char * parmList[] = {"demo","running","2","3",NULL};
execvp(parmList[0],parmList);
exit (EXIT_FAILURE);
}
else if (pid > 0){// preant
pidStack.push_back(pid);
nameStack.push_back(argTemp[0]);
wait(&status);
cout << getpid() << " completed" << endl;
}
else { // fork failed
printf("fork () failed!n");
exit (EXIT_FAILURE);
}
}
您缺少 fork
的返回值点。是孩子pid!
您当前正在父母中打印getpid
,但这当然是Parent Pid。
相关文章:
- 我是否需要在下一次转移时将所有权*转移回转移队列
- 如何将元素从向量转移到新数组?
- 为什么系统函数总是在C++中返回已转移的退出状态?
- C++:将 UDP 袜子转移到新位置
- 为什么最后一个推回向量的对象的字段会转移到向量的其他对象?
- 如何在MPI中将矩阵从一个进程转移到另一个进程
- Qt将鼠标移动事件转移到新窗口
- 将进程的执行从线程1转移到线程2
- 尝试应用肖恩父母谈话"inheritance is the base class of evil"中的模式
- 如何在SOCI中注册数据库故障转移回调?
- 这个C++结构如何从函数转移到"你的"成员
- 如果A("whole")有一组B("parts"),如何同步"part" B从A "whole"到另一个A的转移?
- 将 ulong 从 c++ 转移到 c#
- 不能将子课送进父母课程
- C++将SDL_renderer转移到班级
- 如何在3D世界中获得对象相对于父母的绝对位置
- C 从子线中杀死所有父母的孩子
- 将矩阵转移到阵列中
- 从Turbo转移到Code :: Blocks
- 将PID从孩子转移到父母