进程和优先级

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

相关推荐

  • 一键获取MySQL账户及相关的权限

    有时候,运维同学可能在做grant授权时候,给的用户权限太高了,有风险。因此,我们接手服务器后有必要检查一遍用户权限。 #!/bin/bash# 一键获取MySQL账户及相关的权限 user=’root’ password=’123456′ MYSQL_CMD=’/usr/local/mysql/b…

    Linux干货 2017-05-07
  • Linux下各类颜色文件的意思

    Linux下各类颜色文件的意思   Linux系统对在终端下的各文件进行了颜色区分,了解各个颜色文件对应的意思对是学习Linux必须要掌握的。Linux文件颜色如下图: 1、白色:表示普通文件(-) 2、蓝色:表示目录(d) 3、绿色:表示可执行文件(-) 4、红色:表示压缩文件(-) 5、浅蓝色:链接文件(l) 6、黄色:表示设备文件(c) 7、…

    Linux干货 2016-10-18
  • Linux系统上的人机交互

    众所周知,计算机上运行的数据流最后都会以二进制的方式流转,这对计算机来说确实没什么问题,但是对人类来说,这样的方式无疑太难理解,所以计算机通过转换,将二进制的0、1字符串转换成人们可以易于理解的字母和数字,来方便计算机与人类的沟通和交互。这样一来,人类可以读取和输入人类习惯的字母和数字;而计算机可以使用自己的0、1字符串接收任务和返回结果。然而,这一过程就少…

    Linux干货 2017-09-01
  • httpd 安装配置

    web 服务介绍 web服务时一种应用程序的服务,它所提供的最主要的信息是一种超文本标记语言(HTML)、多媒体资源(如:视频、图片、音乐等)。HTML是一种纯文字的文本信息,通过所谓的标签来规范所要显示的内容格式,在客户端通过浏览器的形式对HTML及多媒体资源进行解析,然后呈现在终端上。主要由http和https协议实现 http协议 HTTP是一个属于应…

    Linux干货 2016-11-01
  • Linux文件管理命令

    2018-03-11

    2018-03-11
  • 马哥教育网络班20期第1周课程练习

    答: 1、 ①控制器:是计算机的中枢神经,协调计算机各部分工作及内存与外设的访问等 ②运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。 ③储存器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。 ④IO:输入设备是将数据或控制命令等信息输入到计算机。输出设备把机算机的各种数据符号及文字或各种控制信号等…

    Linux干货 2016-06-23