概念
多用户多任务的操作系统,必须对程序能够并行执行。
核心的概念就是进程,或者说进程是操作系统资源管理的最小单位。
操作系统通过进程来管理计算机的软,硬件资源。
进程和程序的区别: 进程是动态的实体,是程序的一次执行过程;程序是静态的,是保存在硬盘上的代码。
线程: 在进程内又划分了许多线程,它是比进程更小的,能独立运行的基本单位。它与同一个进程中的其他线程共享进程的全部资源。
进程在执行过程中拥有独立的内存空间,而进程所属的内部线程共享这些内存。
一个线程可以创建或者撤销另一个线程,同一个进程中的多个线程可以并行执行。
在linux下可以使用ps或者pstree来查看当前系统中的进程。
进程标识
linux中,每个进程都有一个唯一的进程ID标识,进程ID是一个非负数,每个进程除了进程ID之外,还有一些其他的标识信息。
在unistd.h头文件中:
函数声明 | 功能 |
---|---|
getpid(id) | 获得进程ID |
getppid(id) | 获得进程的父进程ID |
getuid() | 获得进程的实际用户ID |
geteuid() | 获得进程的有效用户ID |
getgid() | 获得进程的实际组ID |
getegid(id) | 获得进程的有效组ID |