进程与程序
- 程序通常放置在存储媒介中(如光盘、硬盘、磁带等),以物理文件的形式存在
- 进程:程序触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存当中,操作系统并给予这个内存内的单元一个标识符(PID),可以说,进程就是一个正在运行中的程序
子进程和父进程
子进程是衍生出来的进程,比如当我们用bash提供的接口去执行另一个命令时,那些另外执行的命令也会被触发成为PID,那么后来出来出来新的PID就是子进程了,而原来环境下的bash就称为父进程
fork()
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
//pid为自己的进程标识
printf("pid : %d\n", getpid());
//ppid标识父进程
printf("pid : %d\n", getppid());
return 0;
}
同时在多进程环境下,fork()之后我们可以根据返回值进行分流
当fork()的返回值为0的时候,表示这个是子进程
当fork()的返回值大于0的时候,表示这个是父进程
当fork()的返回值小于0的时候,表示这个fork()函数出错了