### :-: 文件描述符
在 Linux 系统中一切皆可以看成是文件,文件又分为:普通文件、目录文件、链接文件和设备文件。文件描述符(file descriptor)是内核管理已被打开的文件所创建的索引,使用一个非负整数来指代被打开的文件。
标准文件描述符如下:
| 文件描述符 | 用途 | stdio 流|
| :----- | :-----| :-----|
| 0 | 标准输入 | stdin|
| 1 | 标准输出 | stdout|
| 2 | 标准错误 | stderr|
当一个程序使用 fork() 生成一个子进程后,子进程会继承父进程所打开的文件表,此时,父子进程使用同一个文件表,这可能导致一些安全问题。如果使用 vfork(),子进程虽然运行于父进程的空间,但拥有自己的进程表项。