二、文件描述符
对Linux而言,一切皆为文件。所有对设备和文件的操作都是使用文件描述符来进行的。当进程打开一个现存文件或者创建一个现存文件的时候,内核就会向进程返回一个文件描述符但是由于一个进程启动的时候,都会默认打开3个文件:标准输入、标准输出和标准错误输出处理。这3个文件分别对应文件描述符的0、1和2(也就是宏替换后的 STDIN_FILENO、STDOUT_FILENO、STDERR_FILLENO);所以此时返回的文件描述符应该是3,依次当该进程再打开文件的时候返回的文件描述符是4、5、6…,为了防止一个进程占用过多的资源,所以Linux下文件描述符最大是1048576。当进程需要读写文件时,也需要把文件描述符传给相应的函数。