【发布时间】:2019-02-12 17:54:31
【问题描述】:
输出应该是什么样子的图像:我的问题是我需要编写一个程序来接受 3 个进程的名称作为命令行参数。这些进程中的每一个都将运行与:(PID%10)*3+5 一样多的秒数并终止。在这 3 个子进程终止后,父进程 将重新安排每个孩子。当所有孩子都被重新安排了 3 次时,父母将终止。我已经使用 fork 创建了三个孩子,但正在努力让他们以特定标准退出?
using namespace std;
int main(){
int i;
int pid;
for(i=0;i<3;i++) // loop will run n times (n=3)
{
if(fork() == 0)
{
pid = getpid();
cout << "Process p" << i+1 << " pid:" << pid << " Started..." << endl;
exit(0);
}
}
for(int i=0;i<5;i++) // loop will run n times (n=3)
wait(NULL);
}
【问题讨论】:
-
您是否尝试过让 one 子进程以该条件终止?还是更简单的条件?什么是症结所在?
-
所以我只是简单地设置子进程应该运行的时间,我不熟悉任何指定进程运行然后终止的时间(以秒为单位)的函数
-
在退出之前尝试为每个孩子使用
sleep()。它将暂停该过程几秒钟 -
我在帖子开头添加了一个链接,以便您更好地了解我想要做什么。也许我没有把它描述得最好
标签: c++ linux operating-system child-process