我有一个父进程'A'和一个子进程'B'。子进程就像一个控制台进程,就像这样实现..
#include<iostream>
#include<cstdio>
int main()
{
char inputCommand[50];
while(1)
{
cout<<"CONSOLE>";
cout.flush();
strcpy(inputCommand,"");
__fpurge(stdin);
scanf(" %s",inputCommand);
return 0;
// here I have an array of commands
// next i am comparing the input command with the array and getting a number
// next i am having a swith statement which do some action according to the
// input command.
// default case is :: no command found!!
}
}
在正常情况下,此应用程序正常工作。但是当我将进程'B'设置为活动时 使用tcsetpgrp()进行处理或使用&amp;运行后台进程'A'要将信号重定向到进程'B'而不是'A',进程'B'在scanf()中没有阻塞,并且“找不到命令!!”在屏幕上不断打印?请帮我解决这个问题。
感谢。