在操作Linux系统的时候,我们需要了解Linux的内核为系统用户提供了什么特性,便于我们后续编写底层驱动代码。
本文主要介绍进程的一些操作和概念
一、查看进程
命令:ps
PID为进程号,范围为:2~32768,进程号1给特殊进行init保留
二、创建进程
fork()函数:用于从一个已经存在的进程中创建一个新的进程,并且在父进程中调用fork函数返回的是子进程的PID,在子进程中调用fork函数返回0。 如果fork()函数启动子进程失败,它将返回-1
函数原型:pid_t fork(void);
使用例子:void main(){ result = pid_t fork() }
三、终止进程
exit函数和_exit函数 :两个函数都可以用于终止进程,区别在于exit函数通过调用终止处理程序,再清理IO缓存区,再通过内核的系统调用,终止进程。二_exit函数直接通过内核的系统调用终止进程,没有去清理掉IO缓存区。
四、等待进程
wait函数:wait()函数在被调用的时候,系统将暂停父进程的执行,直到有信号来到或子进程结束。 如果不在意子进程的结束状态信息,则参数wstatus可以设成NULL。wait函数与fork函数配套使用。之所以配套使用,是因为在调用exit退出进程时,进程进入僵尸态,等父进程调用wait函数后才进入死亡态。
函数原型:pid_t wait(int *wstatus)