1. 进程的创建
1.1进程创建
进程的创建就是一个进程复制自身的内容,在内存中开辟一块新的进程空间,存放复制出来的内容!
进程创建需要调用进程创建函数:叉();
fork();
函数原型:pid_t fork(void);
函数功能:创建子进程哪个进程调用了该函数,就可以直接创建子进程
形参列表:无
返回值:
成功:
父进程:接收到创建的子进程的进程号!
子进程:接收到的是0
失败:-1
1.2进程创建的特性:
1)子进程创建之后,子进程能够得到父进程的程序执行控制指针。从执行的当前位置向下运行!
2)叉函数在创建完子进程之后,分别返回给父子进程不同的结果!
3)子进程被创建出来之后,进程空间中堆栈空间也会从父进程复制过来,但是复制的仅仅是空间,不会复制空间中的值!
1.3进程号
进程号是一个进程在系统中的唯一标识!PID
getpid();
函数函数原型:pid_t getpid(void);
函数功能:获取当前调用进程的进程号
形参列表:无
返回值:当前进程PID
getppid();
函数函数原型:pid_t getppid(void);
函数功能:获取当前调用进程的父进程号
形参列表:无
返回值:当前进程的父进程号
进程查看命令:PS
参数:
-a:当前终端中运行的所有进程
-e:当前系统中运行的所有进程
-u:属于当前用户的所有进程
-f:以列表形式显示进程信息
进程状态动态显示:顶部
sleep();
形参列表:
函数原型:unsigned int sleep(unsigned int seconds);
函数功能:睡眠秒秒睡眠过程中,进程处于等待挂起状态!
形参列表:
秒:需要休眠时间
返回值:
正常休眠完成:0
睡眠过程中被打断:剩余的睡眠时间