我创建了一个使用fork
和execv
启动一些子进程的应用程序。
string process; //initialized before execv call
char** process_args; //initialized before execv call
int pid = fork();
if(pid == 0) {
execv(process.c_str(), process_args);
}
流程启动,但它们会阻止父级访问STDIN
,直到每个孩子退出。我希望父进程在子进程仍在运行时可以访问STDIN
。
这是可能的,如果可以的话 - 怎么样?我不必使用execv
。一旦启动,这些过程就不需要彼此有任何概念。
谢谢!
答案 0 :(得分:0)
在STDIN
之前关闭孩子的exec*()
。