首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

fork概念选择题,求详细解释解决办法

2013-01-09 
fork概念选择题,求详细解释下面是一个进程P(p)的一段伪代码,调用fork(),生成一个子进程p(c),有可能下面的e

fork概念选择题,求详细解释
下面是一个进程P(p)的一段伪代码,调用fork(),生成一个子进程p(c),有可能下面的exec()调用失败,codie -A,codie -B,codie -C都不会产生错误,也没有跳转命令..


pid = fork();
if(pid > 0)
  codie -A;
else if(pid == 0)
 exec("esegibile-B");
else
 codie -C;

codice -D; 


A 进程P(c)一定运行 CODICE -A部分代码,能运行codice -D部分代码;

B 进程P(c)一定运行 CODICE -A部分代码,不会运行codice -D部分代码;

C 进程P(p)一定运行 CODICE -A部分代码,能运行codice -D部分代码;

D 进程P(p)一定运行 CODICE -A部分代码,不会运行codice -D部分代码;

E 进程P(c)一定运行 CODICE -B部分代码,能运行codice -D部分代码;

F 进程P(c)一定运行 CODICE -B部分代码,不运行codice -D部分代码;

G 进程P(c)运行 CODICE -C部分代码,运行codice -D部分代码;

H 进程P(c)运行 CODICE -C部分代码,不运行codice -D部分代码;

I 进程P(p)一定运行 CODICE -B部分代码,能运行codice -D部分代码;

J 进程P(p)一定运行 CODICE -B部分代码,不运行codice -D部分代码;

K 进程P(p)能运行 CODICE -C部分代码,能运行codice -D部分代码;

L 进程P(p)运行 CODICE -C部分代码,不运行codice -D部分代码;

M 以上都不正确


-------------------------------------------
哪位高手帮忙解释说明,每个选项,多谢
[解决办法]
pid = fork();
if(pid > 0)
  codie -A;
else if(pid == 0)
 exec("esegibile-B");
else
 codie -C;

codice -D;

假设fork成功 父进程 A+D 子进程 B+D 
fork 失败 C+D 
 应该是这样吧
[解决办法]
这么多选项

子进程如果执行成功,可能只会执行exec("esegibile-B");
[解决办法]
能不能运行code D要看各个p,c在各自的代码区运行的怎么样如果异常或有类似于exit()函数就不能运行code
D了

[解决办法]
引用:
能不能运行code D要看各个p,c在各自的代码区运行的怎么样如果异常或有类似于exit()函数就不能运行code
D了
++,没注意那个exec~~

热点排行