首页 > 系统相关 >Day 06 Linux的进程管理

Day 06 Linux的进程管理

时间:2024-04-02 22:59:46浏览次数:14  
标签:ps 06 查看 Day 线程 内存 Linux 进程 CPU

相关定义

程序
二进制文件,静态 /usr/sbin/httpd,/usr/sbin/sshd,程序占用磁盘空间
程序的两种状态:running和dead

进程
是程序运行的过程, 动态,有生命周期的,可以产生和消亡的(进程是已启动的可执行程序的运行实例,实例即运行可执行程序),进程占用CPU和内存mem。

父进程
程序运行时产生的第一个进程,任何进程都可以作为父进程创建子进程。

子进程
由父进程使用fork()函数完全复制自己的地址空间创建出来的新的进程就是子进程,子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码.

线程
线程是进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程;一个进程至少包括一个线程,通常将该线程称为主线程;一个进程从主线程的执行开始,进而创建一个或多个附加线程,就是所谓基于多线程的多任务。

程序产生进程,进程包括多个线程

查看进程

静态查看进程

ps [参数]

a 只能查看所有终端进程

u 显示进程拥有者

x 显示系统内所有进程

f  用ASCII字符显示树状结构,表达程序间的相互关系(父子进程之间的关系)

o 自定义字段显示

USER:进程的拥有者

PID:进程的ID 标识唯一一个进程  ppid:父进程ID

%CPU:CPU使用的百分比

%MEM:内存MEM使用百分比

VSZ:占用虚拟内存

RSS:占用实际内存 驻留内存

TTY:进程运行的终端

STAT:进程状态

进程的状态:

R Running,运行,正在被cpu处理的进程

S Sleeping,暂停状态

T Stopped,停止运行

Z Zombie,僵尸进程,子进程结束后没有被父进程回收

X 死掉的进程

Ss s父进程,进程的领导者

S< <优先级较高的进程

SN N优先级较低的进程

R+ +表示是前台的进程组

Sl 以线程的方式运行

START: 进程的启动时间

TIME: 进程占用CPU的总时间

COMMAND: 进程名,进程文件

按照CPU使用率从小到大排序:ps aux --sort %cpu

按照CPU使用率从大到小排序:ps aux --sort -%cpu

按照内存使用率从小到大排序:ps aux --sort %mem

按照内存使用率从大到小排序:ps aux --sort -%mem

自定义字段显示进程:ps axo 字段名称

后面接 | less 分页查看

后面接 | head/tail -n 查看前/后n行

后面接 | grep 服务名 过滤查看服务

获取进程PID的方法

法①:ps aux | grep 服务名

法②:ps axo command,pid | grep 服务名

法③:cat /run/服务名.pid

这个pid文件不一定在run目录下,也有可能会出现在run目录下的二级目录下

法④:pidof 服务名

法⑤:pgrep 服务名

lsof命令

查看正在占用该端口号的进程:lsof -i:端口号

前四列依次是:进程名,进程PID,进程拥有者,文件描述符

w命令

查看当前服务器的运行时间,在线用户数量,负载均衡和连接中的用户信息(用户名,终端编号,用户IP地址,登录时间等)

当前服务器已运行1天,有3个用户终端在线,负载均衡为:0.00,0.07,0.13(越小越好)

三个用户都是root,分别登录终端:pts/0,pts/1,pts/2,IP地址为123.127.39.50,

三个root登录时间分别为:19:12,21:31,21:00

who命令

查看当前服务器连接中的用户信息(用户名,终端编号,登录日期和时间,用户IP地址)及其数量

动态查看进程

top

第一行:当前服务器时间,服务器运行时间,当前在线用户数量,负载均衡

第二行:进程总量,运行进程数量,暂停进程数量,停止进程数量,僵尸进程数量

第三行:us 用户空间占用CPU百分比,sy 内核空间占用CPU百分比,id 空闲CPU百分比

第四行:内存总量,未用内存量,已用内存量,缓存量

内存总量(total)=未用内存量(free)+已用内存量(used)+缓存量(buff/cache)

第五行:swap分区信息

快捷键

P 将%cpu排序  

M 将%mem排序

R 反转排序

1 显示所有CPU的负载

f  自定义显示字段

标签:ps,06,查看,Day,线程,内存,Linux,进程,CPU
From: https://blog.csdn.net/xlv133922/article/details/137289517

相关文章

  • day12- 函数
    我们学习编程的时候,一学到函数就感觉很难,其实函数很简单,听我给你细细道来,在我们之前的学习中,我们最常用的一个操作,打印输出print(),其实这就是我们最先接触的函数,只不过这是由Python源码中编写好的函数,那我们来看下print()函数到底是怎么写的?从中我们可以看到用到def关键字,然......
  • AGC066 题解
    题解:AT_agc066_a[AGC066A]AdjacentDifference笑点解析:没有必要将总成本最小化。我们将格子间隔的黑白染色(显然有两种染色方法),对于黑点我们要求它是奇数倍\(d\),对于白点我们要求它是偶数倍\(d\),这样一定满足相邻格子相差至少\(d\)。因为两种染色方法的代价和为\(dN^2\),......
  • Java方法06:递归讲解
    递归1.A方法调用B方法,我们很容易理解!2.递归就是:A方法调用A方法!就是自己调用自己3.利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要......
  • 【嵌入式智能产品开发实战】(十四)—— 政安晨:通过ARM-Linux掌握基本技能【链接静态库与
    目录链接静态库动态链接与地址无关的代码全局偏移表延迟绑定共享库政安晨的个人主页:政安晨欢迎 ......
  • 就业班 第二阶段 2401--4.1 day10 shell之“三剑客”+Expect
    十一、shell编程-grepegrep支持正则表达式的拓展元字符(或grep -E)#egrep'[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'file1.txt[root@newrain~]#num1=11、运用正则,判断需要[[]][root@newrain~]#[[$num1=~^[0-9]+$]]&&echo"yes"||echo"n......
  • 就业班 第二阶段 2401--3.29 day9 shell之正则+数组
    九、shell编程-数组普通数组:只能用整数作为数组的索引关联数组:可以使用字符串作为数组的索引数组定义普通数组定义:[root@newrainshell]#books=(linuxshellawksed) 引用:[root@newrainshell]#echo${books[0]}linux[root@newrainshell]#echo${books......
  • 就业班 第二阶段 2401--3.28 day8 shell之循环控制
    七、shell编程-循环结构shell循环-for语句foriin{取值范围}  #for关键字i变量名in关键字取值范围格式12345do          #do循环体的开始循环体done         #done循环体的结束#!/usr/......
  • 就业班 第二阶段(python) 2401--4.2 day1 python初识
    一、Python语言介绍1、Python发展历史2、Python简介3、Python特点4、Python的能力二、Linux编译安装Python31、源码安装1、安装依赖软件包2、下载3、解压安装4、配置共享库文件5、测试python36、测试pip32、配置使用国内源安装第三方模块1、创建配置文件补充内容四、......
  • Linux 中复制和移动文件
    复制文件cp1.txttest#把文件1.txt复制到test下参数:-a:相当于-d、-p、-r选项的集合-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接-i:询问,如果目标文件已经存在,则会询问是否覆盖-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件-s:把目标文件建立为......
  • Linux基础学习详细版(嵌入式开发必学)
    一、Linux简介什么是Linux?Linux就是跟平时大家接触的Windows操作系统软件一样,Linux也是一个操作系统软件,Linux跟Windows不同之处在于,Linux是一套开放源代码程序的、可以自由传播的类Unix操作系统软件。什么是开源?开源就是开放源代码,指的是将Linux系统的源代码公开,允许任......