QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 970|回复: 1

[b]再次向daviadfox询问[/b]

[复制链接]
发表于 2003-11-5 16:55:19 | 显示全部楼层 |阅读模式
我发县并不是说有的机器都会出现
b
[root@locahost]# ca
的情况,但是如果你用
./a.out &
命令来运行,就会出现此情况
而且我想问一下,将fork()改为vfork()跳不出来,为什么,
用./a.out &会有一些数字出来,是他的地址吗,
我很菜,还请多原谅
发表于 2003-11-6 10:44:06 | 显示全部楼层
1,z已经讲了进程的调度时机,我就不多说了,这也是为什么各个机器不一样的原因。
2,在linux下(我的是2.2的内核),应用层上vfork()只是fork()函数的别名,与内核中的两个函数区别是不同的,在内核中,vfork()中,子,父进程共享内存空间,父进程将被挂起直到子进程调用execv()或exit()。我的机器上,用两个函数结果完全一样。
3,&是后台执行符。进程在后台运行,而对前台(即用户终端)基本上没有影响。可以继续执行其他命令、接受输入、进行输入等。启动后台进程只要在启动的进程后面加上一个“&”字符就可以了。
    后台进程启动后,用户终端会回显系统为该进程分配的进程号。并立即显示shell提示符。系统开始在后台执行该进程,而用户可以立即在前台执行其它程序。[n]显示是你启动后台进程个数序号。Done表示后台进程已经退出,最后显示的是后台进程名。
4,你提的问题好像不是这个版面的,是应用级的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-18 06:08 , Processed in 0.046182 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表