上篇文章详细介绍了LINUX命令程序通过获取SHELL环境中的数据(此处的数据通常称为环境变量)来输出本机相应的配置数据,从而掌握在LINUX中SHELL环境的搭建技巧。那么,今天,这篇文章主要围绕linux系统中的进程展开描述。

程序与进程的区别

程序的概念:作为二进制文件,属于静态的;

进程的概念:作为程序运行的过程,属于动态的,具有生命周期及其运行状态特征。

说到“进程”,就会联想到“多任务”这个概念。目前几乎所有的操作系统都支持多任务,即操作系统初始化后可支持多任务多进程同时运行或无缝切换。Linux核心是通过使用进程来管理多任务。

在linux系统实际运行当中,服务器有时会变得呆滞,运行缓慢,或者某个程序停止响应。那么,在遇到上述情况如何处理或者应对呢?

进程的工作流程(原理)

当linux系统启动时,linux内核先将一些它自己的活动初始化为进程,然后运行init程序。紧接着,init程序依次地运行一系列的shell 脚本(一般位于/etc目录路径),它们可启动所有的系统服务。当然,许多系统服务将以守护(daemon)程序的形式出现,守护程序仅在后台运行,即使linux系统没有登录,linux系统也会在后台运行一些例行事务。

linux内核维护着所有进程的信息,以此来保持所有任务井然有序。

进程的查看--ps命令(静态查看)

ps,全称process status。先简单举个例子来介绍ps 命令:

[root@linuxProbe ~]$ ps

PID    TTY     TIME         CMD

5198   pts/1    00:00:00      bash

10129   pts/1   00:00:00      ps

//表示有两个进程,分别为进程5198 和进程10129,各自对应的命令是bash命令和ps命令。

// TTY 全称“Teletype”(直译电传打字机),进程的控制终端。

// TIME 字段表示进程所消耗的CPU的时间数量。

默认情况下,ps命令不会显示更多的进程信息,仅仅是列举与当前会话相关的进程信息。那么为了得到更多关于系统运行状态的信息,我们需要将ps命令加上一些选项参数:

[root@linuxprobe ~]$ ps x

PID   TTY   STAT  T ME  COMMAND

2799  ?     Ssl    0:00   /usr/libexec/bonobo-activation-server –ac

2820  ?     Sl     0:01   /usr/libexec/evolution-data-server-1.10 –

//ps命令的常见参数以及作用如下表所示:

参数

作用

-a

显示所有进程(包括其他用户的进程)

-u

用户以及其他详细信息

-x

显示没有控制终端的进程

//STAT全称“state”,代表了进程当前状态,如下表所示:

状态

代表含义

R(运行)

进程正在运行或在运行队列中等待

S(中断)

进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态

D(不可中断)

进程不响应系统异步信号,即便用kill命令也不能将其中断

Z(僵死)

一个已经终止的子进程,但是它的父进程还没有清空它。(父进程没有把子进程从进程表中删除)

T(停止)

已停止,进程收到停止信号后停止运行。

<

高优先级进程。这种状态下,可能会授予进程更多、重要的资源,更多的CPU 时间数量。具有高优先级的进程据说是不好的(less nice),因为它占用了比较多的CPU 时间,这样就给其它进程留下很少时间。

N

低优先级进程。只有当其它高优先级进程被服务了之后,才会得到处理器时间。

除了上面7种常见的进程状态,还有被锁进内存(L)、包含子进程(s)以及多线程(l)这3种补充形式,在此不再一一描述了。

ps 命令能够列举许多运行状态的详细信息,弊端是它只能提供ps 命令执行时刻的机器状态快照,也就是相对静态的,不能实时滚动最新数据。

进程的查看--top命令(动态查看)

linux 中top命令能够动态地查看其系统状态,《Linux就该这么学》的作者刘遄在其书籍中写道:完全可以将它看作是Linux中“强化版的Windows任务管理器”。不容置疑,top命令确实一个相当好用的性能分析工具。

top命令执行结果的前5行,概况了系统整体的统计信息,其所代表的含义如下表所示:

行号

字段

意义

1

top

程序名

18:35:07

当前时间

up 36 min

这是正常运行时间。它是计算机从上次启动到现在所运行的时间。这个例子显示系统已经运行了36分钟

1 user

有1个用户登录系统

load average

加载平均值是指,等待运行的进程数目,也就是说,处于可以运行状态并共享CPU 的进程个数。这里展示了三个数值,每个数值对应不同的时间段。第一个是最后0.01秒的平均值,下一个是前0.05的平均值,最后一个是前0.03的平均值。各项平均值都低于1.0,则表明运行状态良好

2

Tasks

列举了进程总数和这些进程的各种状态(运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数)

3

Cpu(s)

这一行描述了CPU 正在进行的活动的特性。依次代表的含义是用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%的CPU处理器资源处于空闲。

4

Mem

物理内存的使用情况(依次代表物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量)

5

Swap

交换分区(虚拟内存)的使用情况(依次代表虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量)

已经到深夜,关于linux系统中的进程的描述暂时描述到这里,这篇文章详细介绍了静态查看ps命令和动态查看top命令,关于进程的介绍还有如何控制进程(中断、停止等),下篇文章再补充吧。

LINUX系统中进程如何管理控制(一)相关推荐

  1. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...

    有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令.-- Sandra Henry-stocker 有许多工具可以查看 Linux 系统中的内存使用情况.一些命令被广泛使用 ...

  2. Linux系统中进程的查看及控制

    1.什么是进程 程序放置在储存媒体中如硬盘,光盘,软盘,磁带等,为实体文件的形态存在 进程:程序被触发后执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个 ...

  3. 以下属于linux文件系统认为的文件是,信息安全技术题库:在Linux系统中,图形文件、数据文件、文档文件等都属于()。...

    相关题目与解析 Linux中图像文件属于().A.文本文件B.连接文件C.特殊文件D.二进制文件 主要用于Linux系统中进程间相互传递数据.A.FIFO文件B.设备文件C.链接文件D.目录文件 关于 ...

  4. linux系统进程调度算法,Linux系统中的进程调度

    进程调度机制主要涉及到调度方式.调度策略和调度时机. 1 调度方式 Linux内核的调度方式基本上采用"抢占式优先级"方式,即当进程在用户模式下运行时,不管是否自愿,在一定条件(如 ...

  5. linux必须运行在enforcing,Linux系统中SELinux的工作模式(Disabled、Permissive和Enforcing)...

    通过对SElinux的介绍,初学者可以这样认为,在传统Linux系统使用访问控制方式的基础上,附加使用SELinux可增强系统安全.那么,SELinux是如何运行的呢? 在解释 SELinux 的工作 ...

  6. linux基础篇-系统中进程相关概念

    进程概念  内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等  Process: 运行中的程序的一个副本,是被载入内存的一个指令集合进程ID(Process ID,PID) ...

  7. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  8. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  9. .gpg 进程 linux,小知识之Linux系统中的最大进程数,最大文件描述,最大线程数...

    今天来了解一下linux里面的一些小知识: (一)Linux系统中最大可以起多少个进程? (1)32位系统中最多可以起32768个进程 (2)64位系统中最多可以起2的22次方(4194304)约42 ...

最新文章

  1. 公司--保存时验证数据是否保存重复
  2. 全国python一级考试时间_2019年北京全国计算机一级考试时间
  3. python idle 中文_Python IDLE 中文乱码问题
  4. zenmap扫描出来linux,如何在Linux上使用NMAP安全扫描器
  5. 黑莓Torch 9800,了无新意落后主流机型
  6. 【转】摩托罗拉推开源硬件平台计划Project Ara
  7. fabric.js 不同类型 不同控件_策略模式支持不同类型的消息队列
  8. 【雷达通信】基于matlab GUI雷达定位模拟【含Matlab源码 304期】
  9. 人脸识别精度提升 | 基于Transformer的人脸识别(附源码)
  10. displayTag使用详解
  11. 关于C语言中fseek函数的使用
  12. msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)
  13. *Unity程序报错“缺少根元素msbuild\current\bin\microsoft.common.currentversion.targets“
  14. ubuntu mysql 默认安装路径_ubuntu安装mysql并修改默认目录
  15. 360安卓_据说有了这些专治卡顿的 APP,你的安卓手机竟能如丝般流畅顺滑?
  16. Could not enlist in transaction on entering meta-aware object!”
  17. android课程表
  18. 怎么才能防止SSL劫持
  19. //编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg)
  20. 560万Facebook人际关系数据,揭秘家庭职业传承“真相”

热门文章

  1. 干货 | 深度学习检测小目标常用方法
  2. 漫画:到底什么是微服务?
  3. 图片管理之更新SKU表数据
  4. 静态Web服务器-返回固定页面数据
  5. TensorFlow之张量
  6. python浪漫表白代码
  7. python注释#、Ctrl+/
  8. JSP第二次作业_8小题
  9. 使用OpenCV为视频中美女加上眼线
  10. 人脸识别:insightface自定义数据集制作 | 附练手数据集