进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

ps 查看当前系统进程状态

ps:process status 进程状态

1.基本语法

ps aux | grep xxx (功能描述:查看系统中所有进程)

ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

2.选项说明

表1-35

选项

功能

-a

选择所有进程

-u

显示所有用户的所有进程

-x

显示没有终端的进程

3.功能说明

(1)ps aux显示信息说明

USER:该进程是由哪个用户产生的

PID:进程的ID号

%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB;

RSS:该进程占用实际物理内存的大小,单位KB;

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

(2)ps -ef显示信息说明

UID:用户ID

PID:进程ID

PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

4.经验技巧

如果想查看进程的CPU占用率和内存占用率,可以使用aux;

如果想查看进程的父进程ID可以使用ef;

5.案例实操

[root@hadoop101 datas]# ps aux

如图1-161所示

图1-161 查看进程的CPU占用率和内存占用率

[root@hadoop101 datas]# ps -ef

如图1-162所示

图1-162  查看进程的父进程ID

kill 终止进程

1.基本语法

kill  [选项] 进程号 (功能描述:通过进程号杀死进程)

killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

2.选项说明

表1-36

选项

功能

-9

表示强迫进程立即停止

3.案例实操

(1)杀死浏览器进程

[root@hadoop101 桌面]# kill -9 5102

(2)通过进程名称杀死进程

[root@hadoop101 桌面]# killall firefox

pstree 查看进程树

1.基本语法

pstree [选项]

2.选项说明

表1-37

选项

功能

-p

显示进程的PID

-u

显示进程的所属用户

3.案例实操

(1)显示进程pid

[root@hadoop101 datas]# pstree -p

(2)显示进程所属用户

[root@hadoop101 datas]# pstree -u

top 查看系统健康状态

1.基本命令

top [选项]

2.选项说明

表1-38

选项

功能

-d 秒数

指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:

-i

使top不显示任何闲置或者僵死进程。

-p

通过指定监控进程ID来仅仅监控某个进程的状态。

3.操作说明

表1-39

操作

功能

P

以CPU使用率排序,默认就是此项

M

以内存的使用率排序

N

以PID排序

q

退出top

4.查询结果字段解释

第一行信息为任务队列信息

表1-40

内容

说明

12:26:46

系统当前时间

up 1 day, 13:32

系统的运行时间,本机已经运行1天

13小时32分钟

2 users

当前登录了两个用户

load  average:  0.00, 0.00, 0.00

系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息

表1-41

Tasks:  95 total

系统中的进程总数

1 running

正在运行的进程数

94 sleeping

睡眠的进程

0 stopped

正在停止的进程

0 zombie

僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息

表1-42

Cpu(s):  0.1%us

用户模式占用的CPU百分比

0.1%sy

系统模式占用的CPU百分比

0.0%ni

改变过优先级的用户进程占用的CPU百分比

99.7%id

空闲CPU的CPU百分比

0.1%wa

等待输入/输出的进程的占用CPU百分比

0.0%hi

硬中断请求服务占用的CPU百分比

0.1%si

软中断请求服务占用的CPU百分比

0.0%st

st(Steal  time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

表1-43

Mem:    625344k total

物理内存的总量,单位KB

571504k used

已经使用的物理内存数量

53840k free

空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了

65800k buffers

作为缓冲的内存数量

第五行为交换分区(swap)信息

表1-44

Swap:   524280k total

交换分区(虚拟内存)的总大小

0k used

已经使用的交互分区的大小

524280k free

空闲交换分区的大小

409280k cached

作为缓存的交互分区的大小

5.案例实操

[root@hadoop101 atguigu]# top -d 1

[root@hadoop101 atguigu]# top -i

[root@hadoop101 atguigu]# top -p 2575

执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。

netstat 显示网络统计信息和端口占用情况

1.基本语法

netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)

netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)

2.选项说明

表1-45

选项

功能

-n

拒绝显示别名,能显示数字的全部转化成数字

-l

仅列出有在listen(监听)的服务状态

-p

表示显示哪个进程在调用

3.案例实操

(1)通过进程号查看该进程的网络信息

[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号

unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

unix  3      [ ]         STREAM     CONNECTED     20673  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

unix  3      [ ]         STREAM     CONNECTED     20668  3115/firefox

unix  3      [ ]         STREAM     CONNECTED     20666  3115/firefox

(2)查看某端口号是否被占用

[root@hadoop101 桌面]# netstat -nlp | grep 20670

unix  2      [ ACC ]     STREAM     LISTENING     20670  3115/firefox        /tmp/orbit-root/linc-c2b-0-5734667cbe29

20190923-10Linux进程线程类 000 018的更多相关文章

  1. -1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),notify(),notifyAll()等方法都定义在Object类中

     本文关键词: java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁  sleep()和wait()方法的区别 为什么wait( ...

  2. Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量

    Python进阶----线程基础,开启线程的方式(类和函数),线程VS进程,线程的方法,守护线程,详解互斥锁,递归锁,信号量 一丶线程的理论知识 什么是线程:    1.线程是一堆指令,是操作系统调度 ...

  3. Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……

    接着上文介绍TThread. 现在开始说明 Synchronize和WaitFor 但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区 事件(Event) 事件(Event)与De ...

  4. Delphi中线程类TThread实现多线程编程1---构造、析构……

    参考:http://www.cnblogs.com/rogee/archive/2010/09/20/1832053.html Delphi中有一个线程类TThread是用来实现多线程编程的,这个绝大 ...

  5. android 进程/线程管理(三)----Thread,Looper / HandlerThread / IntentService

    Thread,Looper的组合是非常常见的组合方式. Looper可以是和线程绑定的,或者是main looper的一个引用. 下面看看具体app层的使用. 首先定义thread: package ...

  6. android 进程/线程管理(四)续----消息机制的思考(自定义消息机制)

    继续分析handler 和looper 先看看handler的 public void dispatchMessage(Message msg) { if (msg.callback != null) ...

  7. android 进程/线程管理(四)----消息机制的思考(自定义消息机制)

    关于android消息机制 已经写了3篇文章了,想要结束这个系列,总觉得少了点什么? 于是我就在想,android为什么要这个设计消息机制,使用消息机制是现在操作系统基本都会有的特点. 可是andro ...

  8. windows进程/线程创建过程 --- windows操作系统学习

    有了之前的对进程和线程对象的学习的铺垫后,我们现在可以开始学习windows下的进程创建过程了,我将尝试着从源代码的层次来分析在windows下创建一个进程都要涉及到哪些步骤,都要涉及到哪些数据结构. ...

  9. Android(java)学习笔记62:继承Thread类创建线程类

    package cn.itcast_02; /* * 该类要重写run()方法,为什么呢? * 不是类中的所有代码都需要被线程执行的. * 而这个时候,为了区分哪些代码能够被线程执行,java提供了T ...

随机推荐

  1. Python爬虫获取百度贴吧图片

    #!/usr/bin/python# -*- coding: UTF-8 -*-import urllibimport re文章来源:https://www.cnblogs.com/Axi8/p/57 ...

  2. 2020重新出发,JAVA语言,什么是JAVA?

    @ 目录 什么是 java? JAVA三大体系 Java SE Java EE JavaME java的主要特性和优势 1. 面向对象 2. 平台无关性 3. 可移植性 4. 简单性 5. 解释执行 ...

  3. java final关键字与static关键字

    一  final关键字 1.final修饰类不可以被继承,但是可以继承其他类. 例如: class Yy {} final class Fu extends Yy{} //可以继承Yy类 class ...

  4. java 接口一

    一 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口 的子类)来完成.这样将功能的 ...

  5. 《MySQL必知必会》简介、使用

    2.MySQL简介 2.1 什么是MySQL 我们在前一-章中介绍了数据库和SQL.正如所述,数据的所有存储. 检索.管理和处理实际上是由数据库软件一 DBMS (数据库管理系统) 完成的. MySQ ...

  6. 遍历数组,对象和JSON

    遍历数组 var arr2 = [3,4,5,6,7,8]; //第一种方法 for(var i =0;i<arr.length;i++){ console.log(arr2[i]); } // ...

  7. 浏览器自动化的一些体会5 webBrowser控件之winform和webBrowser的交互

    从winform访问webBrowser,大致就是利用webBrowser提供的解析dom的方法以及用InvokeScript方法执行javascript.这个相对比较简单. 从webBrowser访 ...

  8. Dotnet Core Public API的安全实践

    公开API的安全,其实更重要.   一.API的安全 作为一个Dotnet Core的老司机,写API时,能兼顾到API的安全,这是一种优雅.   通常,我们会用认证来保证API的安全,无敌的Auth ...

  9. 搭建vue开发环境的步骤,六步完成

    搭建vue开发环境的步骤,其实也挺简单的,之前这环境的配置也困扰着我一:在搭建vue的开发环境之前,一定一定要先下载node.js,vue的运行是要依赖于node的npm的管理工具来实现,下载地址:h ...

  10. 结对作业:四则运算(Java+JavaFX)

    一.简介 此程序是一个可自动生成,计算小学四则运算题目的项目. Github地址:https://github.com/czmDeRepository/SoftwareWork/tree/master ...