2013-04-02 37 views
0

以下代码是否会在调用abort()之前等待命令执行完成? 如果不是,并且父进程被中止,那么子进程(bash shell)是否还活着并继续执行该命令。写模式管道同步吗?

FILE *_popenShell = NULL; 
_popenShell = popen("/bin/bash","w"); 
fwrite("some_command", 1, SOME_SIZE, _popenShell); 
fflush(_popenShell);   
pclose(_popenShell);   
abort(); 

回答

0

pclose()等待,直到孩子终止(使用wait4())。在您点击abort()时,孩子不应该跑步。