T-07-OS进程管理

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进程管理)