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

📄 00000013.htm

📁 一份很好的linux入门资料
💻 HTM
字号:
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;holly&nbsp;(holly),&nbsp;信区:&nbsp;Linux&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;求教一个关于进程的小程序&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Fri&nbsp;Jul&nbsp;30&nbsp;22:31:46&nbsp;1999)&nbsp;WWW-POST&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;luyy75&nbsp;(铿锵玫瑰)&nbsp;的大作中提到:&nbsp;】
&nbsp;<BR>∶<I>&nbsp;我看到一个小程序,虽然代码很简单,但改动一处后结果令我百思不得其解。
&nbsp;</I><BR>∶<I>&nbsp;#include&nbsp;&lt;stdio.h&gt;
&nbsp;</I><BR>∶<I>&nbsp;#include&nbsp;&lt;sys/types.h&gt;
&nbsp;</I><BR>∶<I>&nbsp;#include&nbsp;&lt;unistd.h&gt;
&nbsp;</I><BR>∶<I>&nbsp;int&nbsp;main()
&nbsp;</I><BR>∶<I>&nbsp;{
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fork();&nbsp;printf(&quot;hee\n&quot;);
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fork();&nbsp;printf(&quot;ha\n&quot;);
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fork();&nbsp;printf(&quot;ho\n&quot;);
&nbsp;</I><BR>∶<I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return(0);
&nbsp;</I><BR>∶<I>&nbsp;}
&nbsp;</I><BR>∶<I>&nbsp;代码就这么几行,很简单。运行之后:结果应该是fork出8个进程(包含父进程),
&nbsp;</I><BR>∶<I>&nbsp;产生14行输出。(hee,ha,ho的混合)
&nbsp;</I><BR>∶<I>&nbsp;但我若把上面每一句printf中的\n去掉,结果令我大感意外。
&nbsp;</I><BR>∶<I>&nbsp;heehahoheehahoheehahoheehahoheehahoheehahoheehahoheehaho
&nbsp;</I><BR>∶<I>&nbsp;共出现了8组heehaho且整齐排列。反复运行结果都一样。不是说FORK出的子进程
&nbsp;</I><BR>∶<I>&nbsp;紧接着下面一句执行吗?那么应该是除了第一个fork之后的两个进程都输出hee之
&nbsp;</I><BR>∶<I>&nbsp;外其它进程都不应该输出hee了,ha也是一样(输出4个),只有ho是每个进程都输
&nbsp;</I><BR>∶<I>&nbsp;出。可结果为什么是这样?\n到底起了什么作用。
&nbsp;</I><BR>∶<I>&nbsp;望高手不吝赐教。感激不尽。
&nbsp;</I><BR>
&nbsp;<BR>用&nbsp;printf(&quot;%d:&nbsp;hee&quot;,&nbsp;getpid())&nbsp;来一看不就明白了?
&nbsp;<BR>Unix&nbsp;下默认的终端方式是缓冲的,&nbsp;只有在回车后或者缓冲满时才输出/输入&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.120.13.251]&nbsp;&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

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