运行结果为:650)this.width=650;"title="/>

linux学习笔记 (fork && FILE && PC)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习笔记 (fork && FILE && PC)相关的知识,希望对你有一定的参考价值。

一、

下面的代码是对fork的测试

技术分享

运行结果为:

技术分享

可以看出,所有进程的pid 为 10604 ~ 10611  (共 8 个   2 ^ 3)

 

修改循环条件,让循环执行5次,

所有进程的pid 为 : 10637 ~ 10668 (共 32 个  2 ^ 5)

 

可以看出,循环执行n次,进程的数目为: 2 ^ n 个

 

二、

FILE结构体:

首先定位:

cd /usr/include

搜索:

gerp ‘FILE‘ stdio.h

 

搜索出了一大堆,但其中有一行代码:

 typedef struct _IO_FILE FILE;

所以接下来搜索 _IO_FILE:

  grep ‘_IO_FILE‘ *.h

搜索出了几行,其中有一行:

   libio.h:struct _IO_FILE

这说明我们要找的_IO_FILE 是在 libio.h

所以接下来打开libio.h

 vim libio.h

然后,在底栏模式下搜_IO_FILE

:/_IO_FILE

多搜几次,直到搜索到定义。

搜到的定义如下:

技术分享

 

三、

先看下面这段代码:

技术分享

当注释的那段 sleep(5)存在时,

父进程要比子进程结束地晚,这时,输出的结果为:

技术分享

这符合我们的预期

 

然而,如果想我图片中那样注释掉 sleep(5) 这一行代码,

父进程会先于子进程结束。

 

对于子进程来说,它正在执行,突然它的父进程结束了,

这时候,该子进程就叫做“孤儿进程”,

它的父进程变为 init(1号进程)

 

 

 

以上是关于linux学习笔记 (fork && FILE && PC)的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记-exec族函数

Linux学习笔记

python 学习笔记 多进程

Python学习笔记__10.1章 多进程

Linux学习笔记20130315

linux学习笔记2.0