Linux前后台进程与状态

  一、前台进程和后台进程

      1、前台进程

       在shell提示处理打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户给出提示符。这条命令与shell异步同行,即在前台运行,用户在它完成之前不能执行别的命令。

      2、后台进程

       在shell提示处打入命令,若后随一个 & ,shell创建子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与shell同步运行,即在后台运行。“后台进程必须是非交互式的”

      3、进程状态

       在多任务处理操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程。在进程运行时,它对CPU时间和资源分配的要求会不断变化,从而为进程分配日一个状态,它随着环境要求而改变。

在这里插入图片描述
在这里插入图片描述

  二、进程优先级

      1、linux进程调度及多任务

       每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,linux实际能够运行的进程(和线程数)可以超出实际可用的CPU及核心数量。linux内核进程调度程序将多个进程在CPU核心上快速切换,从而给用户多个进程在同时运行的印象

      2、相对优先级nice

       由于不是每个进程都与其他进程同样重要,可告知进程调度程序为不同的进程使用不同的调度策略。常规系统上运行的大多数进程所使用的调度策略为SCHED_OTHER(也称为SCHED_NORMAL),但还有其他一些调度策略用于不同的目的。SCHED_OTHER调度策略运行的进程的相对优先级称为进程的nice值,可以有40中不同级别的nice值

扫描二维码关注公众号,回复: 11483383 查看本文章

      3、nice值解释

  • nice值越高:表示优先级越低,例如+19,该进程容易将CPU使用量让给其他进程
  • nice值越低:表示优先级越高,例如-20,该进程更不倾向于让出CPU

      4、查看进程的nice级别

  • 使用top查看nice级别

NI:实际nice级别
PR:将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39

  • 使用ps查看nice级别
# ps axo pid,command,nice  --sort=-nice       
# ps axo pid,command,nice,cls  --sort=-nice      

    注:TS表示该进程使用的调度策略为SCHED_OTHER

 
      5、启动具有不同nice级别的进程

   启动进程时,通常会继承父进程的nice级别,默认是0.

      语法

# nice -n <优先级> command  

      6、更改现有进程的nice级别

  • 使用top更改nice级别

r 调整进程的优先级(Nice Level)(-20最高)—— 0 ——(19最低)

  • 使用shell更改nice级别
  语法
 # renice [-n] <优先级> [-p|--pid] <pid>...
 # renice [-n] <优先级> -g|--pgrp <pgid>...
 # renice [-n] <优先级> -u|--user <用户>...

猜你喜欢

转载自blog.csdn.net/weixin_45440548/article/details/105683871
今日推荐