冯诺依曼体系结构:

系统调用接口:操作系统向上层所提供的用于访问内核的接口

库函数:针对典型应用功能,直接对系统调用接口进行封装后的接口

cpu分时机制:操作对于多个程序的运行其实是切换调度的,每个程序只运行很短的时间(时间片) ,运行完就切换;

进程概念:进程就是操作系统对于程序运行的动态描述,叫做pcd-进程控制块,在Linux下通过一个task-struct结构体,其中包含运行的描述信息,通过这些信息,操作系统实现对于程序运行,以及资源管理;

进程状态:

运行态-R:包含了就绪和运行,指的是正在运行的和拿到时间片就能运行的;

可中断休眠态:休眠态,一种暂时不需要被调度运行的状态(是可以被打断的进入R状态,又或者是满足条件要求自动进入R状态)

不可中断休眠态:休眠态,一种暂时不需要被调度运行的状态(不可被打断,只有满足条件自动进入R状态);

停止状态:一种能够被调度,但是什么都不做的状态;(处于休眠和终止之间的一种微妙的状态,薛定谔的猫);

僵死态:进程退出了,但是资源优没有完全被释放的状态;

僵尸进程:僵尸态的进程,退出了但是资源没有完全释放的进程,是一种待处理的状态;

僵尸进程的危害:资源泄露(原因:占据的内存没有完全释放,一个用户所能创建的进程是有限的)

如何退出?杀不死僵尸进程!但是其父进程是可以被杀死的!所以我们结束其父进程;

如何避免?进程等待。

进程查看指令:ps -ef   ps -aux

杀死进程指令:kill pid(普通杀死);kill -9 pid

cpu使用率查看:top

我们在终端运行的指令或者程序,他们的父进程都是shell-bash进程,而这个进程作为父进程,如果子进程退出了,会立即去处理,因此不会产生僵尸进程;

创建一个子进程:pid_t fork(void);

通过复制调用进程,实现创建一个新的进程 (进程就是pcd,Linux下就是task_struct);

创建子进程就是创建一个新的结构体,复制父进程就是复制了父进程pcd中大部分信息;

为什么要创建子进程?如何区分父子进程?

创建子进程:父子运行的功能相同,大量任务中,效率高;让子进程运行另一段代码,也就是让父子进程功能不同,让子进程处理任务,父进程负责摆烂;

区分:函数返回值:在父进程中返回创建的子进程的pid;虽然运行代码相同,但是fork对于父子进程的返回值不同,可以通过返回值让其分流(在子进程中返回值为0;出错返回-1);

孤儿进程:父进程先于子进程退出,子进程就成为了孤儿进程;进程之间其实都是相互独立运行的,不会因为某个进程的退出,而影响其他进程;
特性:运行在后台,父进程成为1号进程(1号进程是一个非常负责任的父进程,一旦子进程退出就会立即释放子进程的资源),孤儿进程退出后不会成为僵尸进程。
守护进程:就是一种特殊的孤儿进程,运行在后台(不占据终端),给自己新建了会话,完全脱离了登录终端时所建的登录会话,不受终端所有影响,默默的进行一些任务处理。

Linux---->进程-基础相关推荐

  1. Linux的概念与体系 7. Linux进程基础(转载)

    Linux进程基础 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再 ...

  2. Linux 进程基础

    计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等.这些最基础的计算机动作被称为指令 (instruction).所谓的程序(program),就是这样一系列 ...

  3. [转载] Linux进程基础

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某 ...

  4. Linux进程及进程管理命令

    Linux进程基础 1进程概念 1.1程序与进程 1.2进程的状态 1.3线程 1.4进程生命周期 1.5虚拟内存 2进程管理工具 2.1pstree 2.2ps 2.3pgrep 2.4kill.p ...

  5. [转载] Linux信号基础

    Linux进程基础一文中已经提到,Linux以进程为单位来执行程序.我们可以将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客.每个进程拥有一个独立的房间(属于进程的内存空间) ...

  6. linux查看pid 对应的程序_资深程序员总结:分析 Linux 进程的 6 个方法,我全都告诉你...

    (给Linux爱好者加星标,提升Linux技能) 作者:LemonCoder(本文来自作者投稿) 操作系统「进程」是学计算机都要接触的基本概念,抛开那些纯理论的操作系统底层实现,在Linux下做软件开 ...

  7. (大集合)Linux进程和线程的基本编程、通讯和例程【杂记】

    Linux 进程 和 线程 的基本 编程.通讯 和 例程 注:[杂记]系列为日常网搜资料的堆砌而积累成之.如有错误恭谢指出.标识为"原创"其实不完全是,只是多引用再整理和加上自己的 ...

  8. (渗透测试后期)Linux进程隐藏详解

    文章目录 (渗透测试后期)Linux进程隐藏详解 前言 Linux进程基础 Linux进程侦查手段 Linux进程隐藏手段 一.基于用户态的进程隐藏 方法1:小隐隐于/proc/pid--劫持read ...

  9. 关于Linux进程介绍

    Linux的进程相互之间有一定的关系. 比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构.我们在这里讲解进程组和会话,以便以更加丰富的方式 ...

  10. Linux进程编程基础介绍

    Linux系统是一个多进程的系统,它的进程之间具有并行性.互不干扰等特点.也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任.其中,各个进程都运行在独立的虚拟地址空间,因此,即使一个进程发 ...

最新文章

  1. 这么简单的目标检测赛题,竟然设置260万现金奖!
  2. JSON数据与JavaScript对象转换
  3. ftp服务器压缩文件,ftp压缩服务器文件
  4. Satori变种正在通过替换钱包地址盗取ETH数字代币
  5. 面试官:说说Java中java.lang.Void和void有什么作用和区别?
  6. MVC中跳转到其他页面,并传参数
  7. JS判断数字/字母/中文
  8. javascript 中的 call
  9. linux nvme的sendfile流程
  10. 861. Score After Flipping Matrix
  11. script setup 实验性 vue 语法
  12. 2008年9月三级网络技术考试试卷 参考答案1
  13. [Markdown]纯文本标记语言MarkdowPad2--MD语法知识
  14. css 表格内容居中vertical-align:middle,text-align:center
  15. matlab 拟合excel中的数据,Matlab分析拟合Excel中的数据(1)---数据的导入
  16. cadcene17.4软件汉化
  17. jsp实现登录验证码
  18. 编译原理(紫龙书)第2版习题答案
  19. Spring Boot启动参考指南(官方版)
  20. [WebGL入门]二十一,从平行光源发出的光

热门文章

  1. 计算机键盘没有fn,电脑上没有FN键怎么打开小键盘
  2. 澳洲航空Qantas成立100周年,悉尼海港大桥举办灯光庆典
  3. mandriva csdn_与Google的双重开源Mandriva告别,还有更多新闻
  4. 适配 iPhoneXs iPhoneXs Max iPhoneXr 界面
  5. PR简单压缩视频、音频、调整音频声音大小
  6. Real Time Rendering 第一章 简介
  7. session 与 coolie 的区别与联系
  8. 联想员工亲历联想大裁员:公司不是我的家
  9. 悉尼大学计算机专业新生,2020年悉尼大学计算机科学专业课程设置难不难
  10. SpringBoot整合MybatisPlus实现逻辑删除