1.7Linux中的进程管理

进程定义

进程查看命令

  1. 图形进程查看工具
    在这里插入图片描述2. ps 进程查看

(1)a 与终端相关的进程
ps a
在这里插入图片描述(2)x 与终端无关的进程
ps x
在这里插入图片描述
(3)u 用户信息归类
ps au 使用用户信息归类的方式查看与终端相关的进程
在这里插入图片描述(4)f
ps af 使用层级结构查看与终端相关的进程
在这里插入图片描述(5)o 指定参数去显示内容
ps ao pid,user,comm 仅查看与终端相关的进程的进程id,用户名,命令名称
在这里插入图片描述(6)-e 显示所有进程
ps -e
在这里插入图片描述
(7)-f 显示信息的完整格式
ps a -f 查看与终端相关的进程的完整信息格式

UIDPIDPPIDCSTIMETTYSTATTIMECMD
用户名进程id子进程id是否加有特殊参数进程用到的终端状态占用CPU时间进程名称

在这里插入图片描述
(8)-H 显示层级结构
ps ao pid,user,comm -H
仅显示与终端相关的进程的pid,user,comm,并显示进程间的关系
在这里插入图片描述ps a -f -H
显示与终端相关的进程的完整信息,并显示层级结构
在这里插入图片描述
(9)-o 指定参数

(10)–sort= 排序显示
ps -e -o pid,user,%cpu --sort=-%cpu
仅显示所有进程的pid,user,%cpu,同时按照所占cpu容量进行倒序排序
在这里插入图片描述
(11)ps axu

参数注释
USER进程拥有者
PID进程id
%CPU进程占用CPU容量
%MEM进程占用内存容量
VSZ进程所占虚拟内存容量
RSS进程常驻内存内存中的数据大小
TTY进程使用终端数量
STAT进程状态
START进程运行时长
TIME进程占用CPU时长
COMMAND进程名称

在这里插入图片描述3. pgrep 进程过滤

(1) -u uid 显示指定用户进程
pgrep -u 0 过滤出uid=0的用户(root)进程
在这里插入图片描述(2)-U user 显示指定用户进程
pgrep -U root 过滤出超级用户的进程
在这里插入图片描述(3)-l 显示进程名称
pgrep -U root -l 过滤出超级用户的进程,并显示进程名称
在这里插入图片描述
(4)-t tty 显示指定终端进程

(5)-a 显示进程的完整名称
pgrep -aU root 过滤出超级用户进程,并显示其完整名称
在这里插入图片描述(6) -P 显示当前进程的子进程
pgrep -P 919 过滤出919号进程的子进程
在这里插入图片描述

Q:只显示进程所占cpu容量的前5个的pid
A:ps ax -o pid --sort=-%cpu | grep -v pid | head -n 5
A:ps axo pid --sort=-%cpu | head -n 6 | tail -n 5

在这里插入图片描述在这里插入图片描述
4. pidof 查看该进程的pid
pidof cat 查看进程cat的pid
pidof gedit 查看进程gedit的pid
在这里插入图片描述5. top 动态进程查看

top注释
06:05:59系统时间
up 1:52运行时间
1 user系统中登陆的用户数
load average一段时间 (1 分钟、5分钟、15分钟) 内平均 Load
0.01表示最近1分钟平均负载
0.08表示最近5分钟平均负载
0.08表示最近15分钟平均负载

linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。

在这里插入图片描述

Tasks注释
319 total任务总量
2 running正在运行的进程数量
317 sleeping睡眠状态的进程数量
0 stopped阻塞状态的进程数量
0 zombie僵死状态的进程数量

在这里插入图片描述

%Cpu9(s)注释
2.0 us用户空间占用cpu的百分比
0.7 sy内核空间占用cpu的百分比
0.0 ni改变过优先级的进程占用cpu的百分比
95.0 id空闲时间
1.7 wawait IO等待占用cpu的百分比
0.3 hiHardware IRQ 硬中断占用cpu的百分比
0.3 sisoftware 软中断占用cpu的百分比
0.0 st虚拟机所用的系统的时间(被偷走的时间)

在这里插入图片描述

MiB Mem注释
1806.1 total内存总量
64.3 free内存空闲总量
1368.2 used内存已使用总量
373.6 buff/cache缓存

在这里插入图片描述

MiB Swap注释
2048.0 total交换分区总容量
1993.0 free交换分区空闲容量
55 used交换分区已使用容量
342.3 avail Mem可用交换分区总量

在这里插入图片描述

(1)top命令参数

-d 指定刷新频率
top -d 1 以1秒的刷新频率动态查看进程

-b 批次查看进程

-n 指定显示的批次数量

top -b -n 3 以3批次查看进程
在这里插入图片描述在这里插入图片描述在这里插入图片描述
(2)top 内部命令

P CPU排序
在这里插入图片描述
M 内存排序
在这里插入图片描述

T CPU时间排序
在这里插入图片描述
l 关闭/开启uptime信息
在这里插入图片描述
t 关闭/开启cpu&task
在这里插入图片描述

s 指定刷新频率
在这里插入图片描述

k 操作进程
在这里插入图片描述在这里插入图片描述

u 指定用户查看进程
在这里插入图片描述

进程优先级

  1. 进程优先级

用top或者ps -l查看进程会发现有PR(PRI) NI两个字段:
NI 是优先值,是用户层面的概念, PR是进程的实际优先级, 是给内核(kernel)看(用)的。
一般情况下,PR=NI+20, 如果一个进程的优先级PR是20, 那么它的NI(nice)值就是20-20=0。

在这里插入图片描述
范围: 0~139
内核自控优先级:0~99
用户可控优先级:100~139

nice:-20~19

进程调度优先级是从-20到19,一共40个级别,数字越大,表示进程的优先级越低。默认时候,进程的优先级是0。

每个进程都有两个影响其调度的值:
第一个是动态值,内核经常更改这个值,也就是ps -l命令里的pri值
第二个是静态值,只是偶尔被用户手工更改,即ps -l里的ni值。对任何进程而言,ni这个值可以从-20到19不等,其中数值越小优先级越高,数值越大优先级越低,
-20的优先级最高,19的优先级最低,需要注意的是普通用户只能在0~19之间调整应用程序的优先权值,只有超级用户有权调整更高的优先权值(从-20~19)。

PRI即进程的优先级,此值越小进程的优先级别越高。而NI,也就是我们所要说的nice值(通过nice命令设置),其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。
所以,nice命令设置的优先级不是程序最终的优先级,而只是优先级的修正数值。

  1. 设定优先级

监控进程gedit的优先级变化情况
在这里插入图片描述renice -n 5
降低进程的优先级nice5级
在这里插入图片描述在这里插入图片描述
nice -n 5 gedit
指定优先级打开进程

在这里插入图片描述
nice -n 5 gedit &
指定优先级打开进程,并在后台运行

在这里插入图片描述

状态注释
Ssleeping
<优先级高
s顶级进程
Tstop
N优先级低
Rrunning
+运行在后台

进程前后台调用

  1. Ctrl+z
    把占用shell的进程挂起,调入后台

运行gedit进程
在这里插入图片描述挂起的gedit,无法再键入内容
在这里插入图片描述
2. jobs查看当前shell中处于挂起状态的所有工作
在这里插入图片描述

  1. bg 把后台挂起的进程运行起来
    此时,gedit中可以键入内容,不占用shell
    在这里插入图片描述
  2. fg 把后台进程调入前台
    占用shell
    在这里插入图片描述
  3. & 在后台运行进程
    不占用shell

在这里插入图片描述

进程信息号

  1. 进程信号
信号注释
1重新加载系统配置文件(不停服,source)
2清空内存中的进程数据
3清空内存中的鼠标(Ctrl+\
9强行结束进程(不会被阻塞)
15正常关闭进程(会被阻塞)
18运行被暂停的进程
19暂停进程(不会被阻塞)
20暂停进程(会被阻塞)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. 进程信号控制工具

kill 进程信号 进程号
kill -9 21393
结束进程21393
在这里插入图片描述

killall 进程信号 进程名称
killall -9 vim
结束所有的vim进程
在这里插入图片描述

pkill 进程信号 用户名称
pkill -u username
结束该用户的所有进程(只会留下一个该用户的终端)
在这里插入图片描述pkill -u -9 username
结束该用户的所有进程
在这里插入图片描述

systemd守护进程

  1. 实验环境:2台主机(或是虚拟机)

  2. 守护进程:帮助内核处理事务的助手

  3. ssh -l username IP地址
    远程连接主机

  4. systemctl 命令用法

命令注释
start开启
status查看状态
stop关闭
reload重新加载
restart重新启动服务
enable设定服务开机启动
enable --now设定服务开启并当前开启服务
disable设定服务开启不启动
list-units查看系统所有服务当前的状态
list-units-files查看服务开机状态
list-dependencies列出服务依赖性
mask冻结服务
unmask解锁
set-default设定系统运行模式
get-default查看系统运行模式

systemctl status sshd
查看状态
在这里插入图片描述systemctl stop sshd
关闭
在这里插入图片描述systemctl start sshd
开启守护进程
systemctl disable sshd
设定守护进程开机不启动
在这里插入图片描述systemctl enable sshd
设定守护进程开机启动
在这里插入图片描述systemctl mask sshd
冻结在这里插入图片描述
systemctl unamsk sshd
解锁
在这里插入图片描述

系统中的登录审计

命令注释
w显示正在登录系统的账号
w -i显示登陆来源(var/run/utmp)
last显示曾经登录成功并已经退出的账号 (/var/log/wtmp)
lastb显示曾经试图登录但未成功的账号(var/log/btmp)

w
在这里插入图片描述
last
在这里插入图片描述lastb
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值