⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>注:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以下文章转载自&nbsp;bbs.ee.nthu&nbsp;programming&nbsp;板精华区&nbsp;<BR>><I>&nbsp;=========================================================================&nbsp;&lt;&nbsp;</I><BR>&nbsp;<BR>发信人:&nbsp;<A HREF="mailto:LFalcon.bbs@bbs.secc.fju.edu.tw">LFalcon.bbs@bbs.secc.fju.edu.tw</A>&nbsp;(笨鸟),&nbsp;看板:&nbsp;programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Multi-Client&nbsp;communication!&nbsp;<BR>发信站:&nbsp;辅大美少女梦工场&nbsp;BBS&nbsp;站&nbsp;(Wed&nbsp;May&nbsp;15&nbsp;21:34:59&nbsp;1996)&nbsp;<BR>转信站:&nbsp;maple!news.ee.nthu!thccx4!news.cc.nctu!spring!aidebbs!info.svd.fju!fju&nbsp;<BR>&nbsp;<BR>  目前正在发展Multi-Client&nbsp;Single-Server的communication&nbsp;<BR>的网路程式。是以Socket-Based&nbsp;IPC来做的。但是对於&nbsp;<BR>此种Multi-Client的作法正在抉择是要使用Single-Process&nbsp;Concurrent-Server&nbsp;<BR>来做,或者是使用forking的方式来做。&nbsp;<BR>  想请问一下各位先进:若要使用forking&nbsp;的方式来做时,即fork(),&nbsp;<BR>那麽所产生出来的child&nbsp;process是不是从程式的起点来执行?而对於&nbsp;<BR>forking而言,是否可解释成Multi-Client&nbsp;vs&nbsp;Multi-Server?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>><I>&nbsp;--------------------------------------------------------------------------&nbsp;&lt;&nbsp;</I><BR>&nbsp;<BR>发信人:&nbsp;<A HREF="mailto:Chicken.bbs@cis.nctu.edu.tw">Chicken.bbs@cis.nctu.edu.tw</A>&nbsp;(无敌喷饭鸡),&nbsp;看板:&nbsp;programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Multi-Client&nbsp;communication!&nbsp;<BR>发信站:&nbsp;交大资科_BBS&nbsp;(Wed&nbsp;May&nbsp;15&nbsp;21:44:47&nbsp;1996)&nbsp;<BR>转信站:&nbsp;maple!news.ee.nthu!news.cis.nctu!cis_nctu&nbsp;<BR>&nbsp;<BR>><I>&nbsp;  想请问一下各位先进:若要使用forking&nbsp;的方式来做时,即fork(),&nbsp;</I><BR>><I>&nbsp;那麽所产生出来的child&nbsp;process是不是从程式的起点来执行?而对於&nbsp;</I><BR>><I>&nbsp;forking而言,是否可解释成Multi-Client&nbsp;vs&nbsp;Multi-Server?&nbsp;</I><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不是...&nbsp;是从你执行&nbsp;fork()&nbsp;的这个地方,&nbsp;分成两个&nbsp;process&nbsp;同时&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;并行...&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multi-server?&nbsp;我想不算吧!&nbsp;你&nbsp;fork&nbsp;出来的目的,&nbsp;应该只是想和&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;你的&nbsp;client&nbsp;建立一个专属的&nbsp;TCP&nbsp;Link&nbsp;吧!&nbsp;每个&nbsp;fork&nbsp;出来的&nbsp;process&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;还是得靠&nbsp;ipc&nbsp;互相沟通,&nbsp;这样仍然算是一个&nbsp;server&nbsp;..&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>><I>&nbsp;--------------------------------------------------------------------------&nbsp;&lt;&nbsp;</I><BR>&nbsp;<BR>发信人:&nbsp;<A HREF="mailto:LFalcon.bbs@cis.nctu.edu.tw">LFalcon.bbs@cis.nctu.edu.tw</A>&nbsp;(笨鸟),&nbsp;看板:&nbsp;programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Multi-Client&nbsp;communication!&nbsp;<BR>发信站:&nbsp;交大资科_BBS&nbsp;(Thu&nbsp;May&nbsp;16&nbsp;13:05:25&nbsp;1996)&nbsp;<BR>转信站:&nbsp;maple!news.ee.nthu!news.cis.nctu!cis_nctu&nbsp;<BR>&nbsp;<BR>==&gt;&nbsp;在&nbsp;Chicken@cis_nctu&nbsp;(无敌喷饭鸡)&nbsp;的文章中提到:&nbsp;<BR>><I>&nbsp;&gt;&nbsp;  想请问一下各位先进:若要使用forking&nbsp;的方式来做时,即fork(),&nbsp;</I><BR>><I>&nbsp;&gt;&nbsp;那麽所产生出来的child&nbsp;process是不是从程式的起点来执行?而对於&nbsp;</I><BR>><I>&nbsp;&gt;&nbsp;forking而言,是否可解释成Multi-Client&nbsp;vs&nbsp;Multi-Server?&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不是...&nbsp;是从你执行&nbsp;fork()&nbsp;的这个地方,&nbsp;分成两个&nbsp;process&nbsp;同时&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;并行...&nbsp;</I><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^^那以以下这个程式来看呢?&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((pid=fork())&lt;0)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(&quot;fork&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-1);&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;while(TRUE);&nbsp;<BR>&nbsp;<BR>  是不是说child&nbsp;process建立出来之後,此child&nbsp;proc.&nbsp;便会从&nbsp;do-loop&nbsp;<BR>这里做起呢?&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>><I>&nbsp;--------------------------------------------------------------------------&nbsp;&lt;&nbsp;</I><BR>&nbsp;<BR>发信人:&nbsp;<A HREF="mailto:jackie.bbs@cis.nctu.edu.tw">jackie.bbs@cis.nctu.edu.tw</A>&nbsp;(狗脸岁月),&nbsp;看板:&nbsp;programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Multi-Client&nbsp;communication!&nbsp;<BR>发信站:&nbsp;交大资科_BBS&nbsp;(Thu&nbsp;May&nbsp;16&nbsp;14:13:16&nbsp;1996)&nbsp;<BR>转信站:&nbsp;maple!news.ee.nthu!news.cis.nctu!cis_nctu&nbsp;<BR>&nbsp;<BR>==&gt;&nbsp;在&nbsp;LFalcon@cis_nctu&nbsp;(笨鸟)&nbsp;的文章中提到:&nbsp;<BR>><I>&nbsp;==&gt;&nbsp;在&nbsp;Chicken@cis_nctu&nbsp;(无敌喷饭鸡)&nbsp;的文章中提到:&nbsp;</I><BR>><I>&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不是...&nbsp;是从你执行&nbsp;fork()&nbsp;的这个地方,&nbsp;分成两个&nbsp;process&nbsp;同时&nbsp;</I><BR>><I>&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;并行...&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^^那以以下这个程式来看呢?&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((pid=fork())&lt;0)&nbsp;{&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(&quot;fork&quot;);&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-1);&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;{&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;while(TRUE);&nbsp;</I><BR>><I>&nbsp;  是不是说child&nbsp;process建立出来之後,此child&nbsp;proc.&nbsp;便会从&nbsp;do-loop&nbsp;</I><BR>><I>&nbsp;这里做起呢?&nbsp;</I><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child&nbsp;process&nbsp;id&nbsp;&gt;&nbsp;0&nbsp;,&nbsp;return&nbsp;value分别为&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parent&nbsp;收到&nbsp;child&nbsp;pid,&nbsp;而child&nbsp;process&nbsp;收到&nbsp;0,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以&nbsp;parent&nbsp;&amp;&nbsp;child&nbsp;都执行&nbsp;do-while.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>><I>&nbsp;--------------------------------------------------------------------------&nbsp;&lt;&nbsp;</I><BR>&nbsp;<BR>发信人:&nbsp;<A HREF="mailto:Chicken.bbs@cis.nctu.edu.tw">Chicken.bbs@cis.nctu.edu.tw</A>&nbsp;(无敌喷饭鸡),&nbsp;看板:&nbsp;programming&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Multi-Client&nbsp;communication!&nbsp;<BR>发信站:&nbsp;交大资科_BBS&nbsp;(Thu&nbsp;May&nbsp;16&nbsp;15:18:42&nbsp;1996)&nbsp;<BR>转信站:&nbsp;maple!news.ee.nthu!news.cis.nctu!cis_nctu&nbsp;<BR>&nbsp;<BR>><I>&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不是...&nbsp;是从你执行&nbsp;fork()&nbsp;的这个地方,&nbsp;分成两个&nbsp;process&nbsp;同时&nbsp;</I><BR>><I>&nbsp;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;并行...&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^^那以以下这个程式来看呢?&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;((pid=fork())&lt;0)&nbsp;{&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(&quot;fork&quot;);&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(-1);&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do&nbsp;{&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;</I><BR>><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;while(TRUE);&nbsp;</I><BR>><I>&nbsp;  是不是说child&nbsp;process建立出来之後,此child&nbsp;proc.&nbsp;便会从&nbsp;do-loop&nbsp;</I><BR>><I>&nbsp;这里做起呢?&nbsp;</I><BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不是...&nbsp;你&nbsp;call&nbsp;fork()&nbsp;之後,&nbsp;就已经分出一个&nbsp;child&nbsp;process&nbsp;了..&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;child&nbsp;会从&nbsp;fork()&nbsp;return&nbsp;的地方开始跑下去...&nbsp;parent&nbsp;也是接著&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -