Linux中的进程管理

本文详细介绍了Linux中的进程管理,包括进程定义、线程概念、进程和线程的区别、进程状态查看(如`ps`和`top`命令)、进程优先级、前后台调用、进程信息号、systemd守护进程及其`systemctl`命令的使用,以及系统登陆审计等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.进程

1.1 进程的定义:

1) 程序是静态的代码文件
2)进程是指程序运行时的形态
3) 进程是程序的一个副本
4)进程是有生命周期的(准备期,运行期,终止期)

1.2 线程的定义

1) 线程是cpu调度和执行的单位
2)线程会带来额外的开销,如cpu调用时间,并发控制开销.
3)每个线程在自己的工作内存交互,内存控制不当会造成数据不一致.

1.3线程和进程的区别

1)进程是资源调用的最小单位
2)线程是进程的最小单位

程序执行流是从上倒下贯穿运行的

当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的.

1.4 进程的状态

R(TAKS_RUNNING)可执行态(running,ready)
S(TASK_INTRRUPTABLE)可唤醒休眠
D(TASK_UNINTRRUPTABLE)不可唤醒休眠
T(TASK_STOP)暂停状态
Z(EXIT_ZOMBIE)僵死状态

命令的查看:ps  ax  -o  stat , comm

在这里插入图片描述

二.进程的查看

命令:
gnome-system-monitor           图形进程查看工具

在这里插入图片描述

2.1 ps

1)进程查看
2)ps 命令的三种执行风格  unix  bsd  GNU

unix风格:参数一般带 -
bsd风格:参数不带 -

2.2 ps命令

ps a与终端相关的进程 (当用户登陆系统后产生的进程都是带终端的)
ps  x与终端无关相关的进程
ps u用户信息归类的查看方式
ps f进程层级关系
ps o显示指定参数 pid  comm  nice  pri  pcpu  ppid  stat,user,group

在这里插入图片描述

在这里插入图片描述

注意:以上是unix风格

ps  -e显示所有进程
ps  -f显示信息的完整格式
ps -H显示进程的层级结构
ps -o显示指定参数
ps --sort排序 (**-**为负序)

在这里插入图片描述

2.3 ps ax显示信息:

PID进程id
TTY进程用到的终端
STAT进程状态
TIME进程占用cpu时长
COMMAND进程名称

在这里插入图片描述

2.4 ps aux显示信息:

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

在这里插入图片描述

2.5 pgrep

进程过滤

pgrep - u uid显示指定用户进程
pgrep - U user显示指定用户进程
pgrep - t tty显示指定终端进程
pgrep - l显示进程名称
pgrep - a显示进程的完整名称
pgrep - P显示进程的子进程

注:“-l -a -P要和前面三个配合使用其中-P后面加的是用户的PID”

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.6 pidof vim             查看vim的pid

在这里插入图片描述

三. top         动态进程查看

在这里插入图片描述

3.1 top中的内容显示信息

top中的内容显示信息

06:41:09系统时间
up 10:56运行时长
1 users系统中有一个用户登陆
load average:0.18,   0.16,   0.06
                                                     1min   5min    15min

Tasks:

324 total任务总量
1 running正在运行
323sleeping休眠人物数量
0 stopped被暂停数量
0 zombie僵死人物数量

%Cpu(s)

0.3 us用户空间
0.3sy内核空间
0.0 ni nice值调整时间
99.2 id空闲时间
0.0 wa等待io时间
0.2 hi处理硬件中断时间
0.0 si处理软件中断时间
0.0 st被偷走的时间(vm使用时间)

MiB Mem :

3758.6  total,总量
1795.0  free空闲
1185.1 used占用
778.6  buff/cache缓存

MiB Swap: 交换分区用量

3.2 top参数

-d指定刷新频率(秒s)
-b以批次方式显示
-n指定显示的批次数量

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3 top内部指令

Pcpu排序
M内存排序
T累计展铜cpu时间排序
l关闭/开启uptime信息
t关闭/开启cpu&task
s指定刷新频率
k操作进程
u查看指定用户进程

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四.进程优先级

系统时多任务多用户的操作模式             任务的重要性是有区分的

4.1 如何确定任务的重要性

优先级:
    范围: 0–139
    内核自控优先级范围:0-99
    用户可控优先级:100-139

nice值
      -20  - 19

监控命令:watch -n1 “ps ax -o pid,comm,stat,nice”

renice -n nice值 进程号更改优先级

在这里插入图片描述

nice -n nice值 进程名称指定优先级打开进程

在这里插入图片描述

Ssleeping
<优先级高
s顶级进程
Tstop
N优先级底
Rrunning
+运行在前台

五.进程前后台的调用

<ctrl>+<z>把占用shell的进程打入后台挂起
bg把后台挂起的进程运行起来
fg把后台进程调回前台
&运行进程在后台
jobs查看当前shell中在后台的所有工作

在这里插入图片描述

六.进程信息号

6.1 进程信号

1重新家在系统配置文件(source)
2清空内存中的进程数据
3清空内存中的鼠标(ctrl+)
9强行结束进程(不能被阻塞)
15正常关闭进程(会被阻塞)
18运行被暂停的进程
19暂停进程(不会被阻塞)
20暂停进程(会被阻塞的)

6.2 进程信号控制工具

kill + 进程信号 pid
killall + 进程信号 进程名字
pkill + 进程信号 进程条件

在这里插入图片描述

七. systemd 守护进程

远程操作主机
ssh 远程主机ip -l 远程主机用户
ssh 主机用户@远程主机ip

守护进程
替内核分担程序控管的程序
通常pid为1
systemd -----> systemctl
systemctl 管理系统服务
服务指在系统中开启的共享系统资源到网络中的程序
cs client ------ server

systemctl命令的用法

start开启
stop关闭
status查看状态
reload重新加载
restart重新启动服务
enable设定服务开机启动
enable --now设定服务开机启动并当前开启服务
disable设定服务开启不其动
list-units查看系统所有服务当前状态
list-unit-files查看服务开机状态
list-dependencies列出服务依赖性
mask冻结服务
unmask解锁

部分命令演示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

set-default   设定系统运行模式

multi-user.target无图形网络模式
graphical.target有图形的网络模式

命令演示:

systemctl set-default multi-user.targey(开启无图形模式)

在这里插入图片描述

无图形模式:

在这里插入图片描述

开启有图形模式:systemctl set-default graphical.target

在这里插入图片描述

get-default 查看系统运行模式

系统运行模式0-6

0POWEROFF
1single
2noG+NETWORK
3
4
5G+NETWORK
6REBOOT

命令演示:runlevel也可以显示系统运行模式

在这里插入图片描述

在这里插入图片描述

八. 系统中的登陆审计

w显示正在登陆系统的账号
-i 显示登陆来源
数据存放的地方/var/run/utmp

在这里插入图片描述

last登陆成功现在已经退出的
数据存放路径/var/log/wtmp

在这里插入图片描述

lastb试图登陆但未成功
数据存放路径/var/log/btmp

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值