标签:linux
一、
下面的代码是对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
原文地址:http://zhweizhi.blog.51cto.com/10800691/1791053