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

关于创建子进程的有关问题

2014-01-13 
关于创建子进程的问题在Linux下我分别用fork和vfork函数创建子进程,输出父进程和子进程的进程号,fork()函

关于创建子进程的问题
在Linux下我分别用fork和vfork函数创建子进程,输出父进程和子进程的进程号,fork()函数只输出了两个进程号;但是我用vfork()函数却不停的输出进程号,我仔细观察了后者的输出结果:父进程号只有一个,子进程却又n个,直到退出程序,我搞不懂这是为什么?大家分析下,下面贴我的程序图和输出结果:
代码:
关于创建子进程的有关问题
fork()函数输出结果:
关于创建子进程的有关问题
vfork()函数输出结果:
关于创建子进程的有关问题 子进程 父进程
[解决办法]
vfork只是保证子进程先执行而已!
fork无法保证那个进程首先指向而已!
理论上应该不会出现这种情况吧?楼主什么环境
[解决办法]
问题就是你用了return,vfork, fork的子进程不能用return, 其实fork也有着个问题,你改成exit就好了。
[解决办法]
不加exit语句,程序会一直循环执行下去,直到进程号被分配完才会退出。
[解决办法]
理论上都会出现,不管fork, vfork,吧return换成exit也可以,放if里面也可以,没关系。

热点排行