美文网首页
T-07-OS进程管理

T-07-OS进程管理

作者: 月影诉残心 | 来源:发表于2018-11-27 18:41 被阅读5次

1. process & program

在 Linux 系统当中:触发任何一个事件时,系统都会将他定义成为一个进程,并且给予这个进程一个 ID ,称为 PID,同时依据启发这个进程的用户与相关属性关系,给予这个 PID 一组有效的权限设定。 从此以后,这个 PID 能够在系统上面进行的动作,就与这个 PID 的权限有关。

程序被加载为进程

程序一般是放置在实体磁盘中,然后透过用户的执行来触发。触发后会加载到内存中成为一个个体,那就是进程。 为了操作系统可管理这个进程,因此进程有给予执行者的权限/属性等参数,并包括程序所需要的脚本与数据或文件数据等, 最后再给予一个 PID 。系统就是透过这个 PID 来判断该 process 是否具有权限进行工作的

2. service & daemon

常驻在内存当中的进程通常都是负责一些系统所提供的功能以服务用户各项任务,因此这些常驻程序就会被我们称为:服务 (daemon)
简单的说,系统为了某些功能必须要提供一些服务 (不论是系统本身还是网络方面),这个服务就称为 service 。 但是 service 的提供总是需要程序的运作吧!否则如何执行呢?所以达成这个 service 的程序我们就称呼他为 daemon ! 举例来说,达成周期性计划任务服务 (service) 的程序为 crond 这个 daemon

3. job control

进行工作管理的行为中, 其实每个工作都是目前 bash 的子进程,亦即彼此之间是有相关性的。 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 bash
bash 只能够管理自己的工作而不能管理其他 bash 的工作,所以即使你是 root 也不能够将别人的 bash 底下的 job 给他拿过来执行。

4. 进程管理

4.1. 查看进程

  • ps:将某个时间点的进程运行情况截取下来


    ps命令
  • top:动态查看进程的变化


    top命令
  • pstree


    pstree命令

4.2. 进程的管理

kill -signal PID
kill -signal 命令名称

4.3. 进程的执行顺序

CPU 调度指的是每个进程被CPU运行的规则,而计划任务是将某个进程安排在某个时间再交由系统执行,CPU调度与操作系统具有相关性。

  • priority 与 nice 值
    Linux 给予进程一个所谓的『优先执行序 (priority, PRI)』, 这个 PRI 值越低代表越优先的意思。不过这个 PRI 值是由核心动态调整的, 用户无法直接调整 PRI 值的。
    查看进程
    由于 PRI 是核心动态调整的,我们用户也无权去干涉 PRI !那如果你想要调整进程的优先执行序时,就得要透过 Nice 值了!Nice 值就是上表的 NI 啦!一般来说, PRI 与 NI 的相关性如下:

PRI(new) = PRI(old) + nice

不过你要特别留意到,如果原本的 PRI 是 50 ,并不是我们给予一个 nice = 5 ,就会让 PRI 变成 55 喔! 因为 PRI 是系统『动态』决定的,所以,虽然 nice 值是可以影响 PRI ,不过, 最终的 PRI 仍是要经过系统分析后才会决定的。另外, nice 值是有正负的喔,而既然 PRI 越小越早被执行, 所以,当 nice 值为负值时,那么该进程就会降低 PRI 值,亦即会变的较优先被处理。此外,你必须要留意到

  • nice值可调整的范围为-20-19;
  • root可随意调整自己活他人进程的nice值,且范围为-20-19;
  • 一般用户仅可调整自己进程的nice值,,且范围为0-19(避免用户抢占系统资源);
  • 一般用户仅可将nice值越调越高,5++

这也就是说,要调整某个进程的优先执行序,就是『调整该进程的 nice 值』
nice:新执行的命令即给予新的nice值
renice:已存在进程的nice重新调整

4.4. 查看系统资源信息

  • free:查看内存使用情况


    free命令
  • uname:查看系统与内核相关信息


    uname命令
  • uptime:查看系统启动时间与任务负荷

  • netstat:追踪网络或socket文件

  • dmesg:分析内核产生的信息

  • vmstat:检测系统资源变化

5. 查询已使用文件或已执行进程使用的文件

  • fuser:借由文件(或文件系统)找出正在使用该文件的进程

  • lsof:列出被进程所使用的文件名称

  • pidof:找出某个正在执行的进程的PID

相关文章

  • T-07-OS进程管理

    1. process & program 在 Linux 系统当中:触发任何一个事件时,系统都会将他定义成为一个进...

  • Android性能探索

    进程管理&内存管理 进程生命周期进程优先级:前台进程可见进程服务进程后台进程 (LRU Cache & 占用内存...

  • linux 下的系统调用

    一、主要有以下模块 -进程管理-内存管理-文件管理-信号处理-进程通信-网络通信 一、进程管理 1.父进程通过fo...

  • Linux 系统管理

    视频教程:Linux系统管理 一、进程管理 进程管理 简介:进程就是正在运行的程序或者命令,进程管理就是对正在运行...

  • Linux进程管理详解(转)

    Linux进程管理详解 1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一...

  • Linux 内存笔记基础

    系统 1. 内存管理 2. 文件目录 3. IO 4. 进程管理进程创建进程控制进程通信进程同步 5. 线程管理线...

  • supervisor

    Supervisor进程管理,只能管理非daemon的进程,不能管理守护进程。 安装 yum 默认主配置文件在/e...

  • 操作系统总览

    操作系统的 操作系统的用户界面 进程管理 处理机调度 存储管理 进程和存储管理示例 windows进程和内存管理 ...

  • Linux进程管理 day22

    1.管理进程状态2.管理后台进程3.进程的优先级4.系统平均负载 一、管理进程状态 昨天主要学习了进程(正在运行的...

  • mac 安装配置supervisor

    supervisor 管理进程用的, 公司线上的进程管理就是supervisor.python 写的 , 子进程中...

网友评论

      本文标题:T-07-OS进程管理

      本文链接:https://www.haomeiwen.com/subject/pdhpqqtx.html