Linux c/c++之进程基础

  • 进程的定义
  1. 运行中的程序(必须是运行之中的程序)
  2. 不在运行之中的程序只能被称为可执行的程序文件
  3. 进程是操作系统资源调度的基本单位
  4. 线程是操作系统调度的基本单位
  5. 内存的最小单位 比特位(bit)
  6. 内存的最小管理单位 字节(byte)

        资源: 内存 fd(文件描述符) cpu时间片 等等...

  • 进程的组成
  1. 数据:        全局变量        静态变量(已初始化,未初始化)        只读变量
  2. 代码:        进程的源代码
  3. 堆栈:        普通变量        动态申请的内存

        数据,代码,堆栈均由进程管理

  • 进程的模式

        用户模式: 应用程序正在运行

        内核模式: 调用系统调用   系统中断

  • 进程的运行

 ps  -aue命令(显示进程信息)

Linux c/c++之进程基础_第1张图片

top命令(实时展现进程的动态信息)

Linux c/c++之进程基础_第2张图片

 创建一个进程源代码并手动执行:

#include 
#include 
#include 

int main(){
	int n = 0;
	while(1){
		printf("开始打印进程id:\n");
		printf("pid: %d : %d",getpid(),n++);
		sleep(1);
	}
	return 0;
}

 运行结果:

 Linux c/c++之进程基础_第3张图片

 kill命令

         kill 2 进程id         干掉进程(2为信号)

 

  •  进程的状态

         运行        睡眠        挂起        等待        死亡        僵尸状态等...

  • 多个进程运行时的轮循机制

Linux c/c++之进程基础_第4张图片

 当多个进程同时运行时,操作系统将CPU资源采用分时分片从而处理各个进程,因为运算速率较快,故而使用电脑时感受不到进程之间的切换

你可能感兴趣的:(Linux,linux,c语言,c++)