0
有许多类似的问题,但是没有一个能够使用。我的代码片段如下:
for(int j=0; j<N; j++) {
pid_t pid = fork();
if (pid == -1) {
exit(-1); //err
} else if (pid == 0) {//kid
stringstream ss;
ss<<j;
execlp("./sub","sub",ss.str().c_str(),NULL);
exit(0);
} else {
/* parent */
}
}
我的子(的.cpp)执行代码为:
int main(int argc, char **argv)
{
cout<<argv[i]<<endl;
exit(0);
}
我的输出是这样的:
[terminal prompt '$'] 4
2
3
etc.
有没有一种方法,我可以防止在exec调用中显示提示?为什么它只会在第一次执行呼叫时显示,而不是每一次都显示?
谢谢...这是有道理的。然而,我的问题仍然存在;无论如何,以防止它? – 2013-03-13 19:31:32
@DaxDurax:你为什么要压制它?在命令执行后,打印提示符是shell的正常行为。 – 2013-03-13 19:34:36
@DaxDurax:我已经添加了一些东西给我的答案,也许这就是你要找的。 – 2013-03-13 19:42:54