进程和优先级

     什么是进程?我们先来了解一下进程的概念:我们知道操作系统最核心的概念就是进程。进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。1

   当多个任务要执行时怎么办呢?先执行谁呢?这时候就需要看优先级了。
进程优先级:
(1)系统优先级:数字越小优先级越高 0-139 各有140个运行队列和过期队列
(2)实时优先级:99-0 值越大优先级越高
(3)nice值:-20到19,对应系统优先级100-139或99

1

进程类型:

(1)守护进程:daemon,是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。

守护进程一般在系统启动时开始运行,除非强行终止,否则直到系统关机都保持运行。守护进程经常以超级用户(root)权限运行,因为它们要使用特殊的端口(1-1024)或访问某些特殊的资源。一个守护进程的父进程是init进程,因为它真正的父进程在fork出子进程后就先于子进程exit退出了,所以它是一个由init继承的孤儿进程。守护进程是非交互式程序,没有控制终端,所以任何输出,无论是向标准输出设备stdout还是标准出错设备stderr的输出都需要特殊处理。

(2)前台进程:跟终端相关,通过终端启动的进程

       注:守护进程和前台进程可以相互转换

进程状态

(1)运行态(TASK_RUNNING)
指正在被CPU运行或者就绪的状态。这样的进程被成为runnning进程。运行态的进程可以分为3种情况:内核运行态、用户运行态、就绪态。

(2)睡眠态
可中断睡眠状态(TASK_INTERRUPTIBLE)
处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态。
不可中断睡眠状态(TASK_UNINTERRUPTIBLE)
停止态(TASK_STOPPED)暂停与内存,但不会被调度,除非手动启动。
当进程收到信号SIGSTOP、SIGTSTP、SIGTTIN或SIGTTOU时就会进入暂停状态。可向其发送SIGCONT信号让进程转换到可运行状态。

(3)僵死态(TASK_ZOMBIE)
结束进程,父进程结束,前子进程不关闭

查看进程命令:ps

ps命令支持3种选项:1.unix选项:如 -A -e   2.BSD选项 :如a    3.GNU选项:如– help

ps  a 包括所有终端的中的进程

1

ps  x 包括不链接终端的进程

1

ps u 显示进程所有者的信息

1

ps f 显示进程的父进程

1

ps -e显示所有进程

ps -f显示完整格式程序信息

ps -o 选择指定要看的信息(如PID,%CPU等)

1

pstree 树状显示进程

pidoff  XX查看xx的进程编号

1

ps命令一般使用 ps aux 或者lax组合查看进程

ps 命令标头解释

USER 进程的属主;
PID 进程的ID;
PPID 父进程;
%CPU 进程占用的CPU百分比;
%MEM 占用内存的百分比;
NI 进程的NICE值,数值大,表示较少占用CPU时间;
VSZ 进程虚拟大小;
RSS 驻留中页的数量;
TTY 终端ID
STAT 进程状态(有以下几种)
D 无法中断的休眠状态(通常 IO 的进程);
R 正在运行可中在队列中可过行的;
S 处于休眠状态;
T 停止或被追踪;
W 进入内存交换(从内核2.6开始无效);
X 死掉的进程(从来没见过);
Z 僵尸进程;
< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存;
s 进程的领导者(在它之下有子进程);
l 多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ 位于后台的进程组;
WCHAN 正在等待的进程资源;
START 启动进程的时间;
TIME 进程消耗CPU的时间;
COMMAND 命令的名称和参数;

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86778

(1)
李先生李先生
上一篇 2017-09-09 20:48
下一篇 2017-09-10 08:33

相关推荐

  • 学习linux命令和帮助

    一、初级命令: 命令的语法通用格式:  #COMMAND OPTIONS ARGUMRNTS OPTIONS:制定命令的运行特性 选项有两种表现形式:    段选项: -c    短选项:–word 例如 –help –human-readable ARGUM…

    Linux干货 2016-10-30
  • CentOS多网卡单个ip和单个网卡多个ip的设置

    一、单个网卡设置一个IP地址     1.初始状态已添加一个网卡eth0,并设置的均为自动获取IP地址,如下图所示:网卡为eth0,ip地址为10.1.249.36;为了后续实验的顺利进行,我们把NetworkManager服务关闭     chkconfig NetworkMa…

    Linux干货 2016-09-06
  • 自制简易linux系统

    一、环境准备 1.笔记本电脑 2.vmware12软件 3.CentOS 6虚拟机 4.大于5G空间的物理磁盘分区 二、分区并挂载文件系统 1.添加磁盘 在vmware中选中CentOS 6系统并右击鼠标选择设置,添加–>硬盘–>SCSI(推荐)–>创建新虚拟磁盘–>大小改为5G–>完成 2.分区并…

    Linux干货 2016-09-20
  • 0805文本处理工具

    文本处理工具 查看文本文件     文件内容:less和cat            文件截取:head和tail       &…

    Linux干货 2016-08-07
  • shell脚本编程之变量详解

    什么是变量     变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或是一个数字,就把它存放在一个变量中。每个变量有一个名字,所以很容易引用它。 使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 变量:变量类型 作用:  &…

    Linux干货 2016-08-15
  • RPM软件包管理

                                                RPM 软件包管理 1、rpm软件包管理: &nbs…

    系统运维 2016-09-01