【Linux最强学习笔记7】Linux进程管理

it2025-06-21  5

文章目录

1.进程1.1.进程的定义1.2.进程&线程1.3.进程的状态 2.进程查看命令2.1.图形进程查看工具:gnome-system-monitor2.2.进程查看:px2.3.进程过滤:pgrep2.4.查看vim的pid:pidof vim2.5.动态进程查看:top 3.进程优先级4.进程前后台调用5.进程信号6.systemd守护进程7.系统中的登陆审计

1.进程

1.1.进程的定义

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

1.2.进程&线程

进程:资源调用的最小单位线程:进程的最小单位

程序执行流是从上到下贯穿运行; 当进程是多任务、CPU是多核心时,多任务应该同时被每个核心处理,每个核心处理的任务叫线程; 线程资源是共享的;

1.3.进程的状态

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

2.进程查看命令

2.1.图形进程查看工具:gnome-system-monitor

2.2.进程查看:px

px命令三种执行风格(unix bsd GNU) a与终端相关的进程x与终端无关的进程u用户信息归类的查看方式f进程层级关系o显示指定参数pid , comm , nice , pri , pcpu , ppid , stat , user , group-e显示所有进程-f显示信息的完整格式-H显示进程的层级结构-o显示指定参数--sort=排序显示(正序;倒序:给排序指标前加负号) px ax显示信息如下: PID进程idTTY进程用到的终端STAT进程状态TIME进程占用CPU时长COMMAND 进程名称 px aux显示信息如下: USER进程所有人PID进程id%CPU进程使用CPU的用量%MEM进程所用到的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用CPU时长COMMAND进程名称

2.3.进程过滤:pgrep

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

2.4.查看vim的pid:pidof vim

2.5.动态进程查看:top

top中的内容显示信息 09:48:51系统时间up 18:53运行时长2 users系统中有两个用户登录load average: 0.75,0.53,0.41 Tasks: 331 total任务总量3 running正在运行329 sleeping休眠人物数量0 stopped被暂停数量0 zombie僵死人物数量 %CPU 1.5 us用户空间1.9 sy内核空间0.0 ninice值调整空间58.9 id空闲时间0.0 wa等待io时间2.1 hi处理硬件中断时间0.2 si处理软件中断时间0.0 st被偷走的时间(vm使用时间) MIB Mem 7664.6 total总量5383.9 free空闲1312.1 used占用968.8 buff/cache缓存

MiB Swap:交换分区变量

top命令的参数

-d指定刷新频率(默认3s)-b以批次方式显示-n指定显示的批次数量 top内部指令 PCPU排序M内存排序T累计占用CPU时间排序l关闭/开启uptime信息t关闭/开启CPU&tasks指定刷新频率k操作进程u查看指定用户进程 内容: PID进程idUSER进程所有者的用户名PR优先级NInice值(负值表示高优先级;正表示低优先级)VIRT进程使用的虚拟内存总量(单位kb;VIRT=SWAP+RES)RES进程使用的、未被换出的物理内存大小,(单位kb;RES=CODE+DATA)SHR共享内存大小(单位kb)S进程状态D=不可中断的睡眠状态;R=运行;S=睡眠;T=跟踪/停止;Z=僵尸进程%CPU上次更新到现在的CPU时间占用百分比%MEM进程使用的物理内存百分比TIME+进程使用的CPU时间总计(单位:1/100秒)COMMAND命令名称

3.进程优先级

系统是多任务多用户的操作模式 任务的重要性是有区分的 如何确定任务的重要性:

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

nice值:(-20) -> 19

更改优先级:renice -n -5 43331指定优先级打开进程:nice -n -5 cat ps ax -o pid,nice,comm | grep cat ps ---> pri ---> 0-39 nice 20-19 priority 0-139(100-139) Ssleeping<优先级高s顶级进程TstopN优先级低Rrunning+运行在前台

4.进程前后台调用

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

5.进程信号

进程信号 1重新加载系统配置文件2清空内存中的进程数据3清空内存中的鼠标(+<\>)9强行结束进程(不被阻塞)15正常关闭进程(会被阻塞)18运行被暂停的进程19暂停进程20暂停进程 进程信号控制工具 kill 进程信号 pid killall 进程信号 进程名称 pkill 进程信号 进程条件

6.systemd守护进程

实验环境:两台主机

远程操作主机:ssh 远程主机IP -l 远程主机用户

守护进程 (替内核分担程序控管的程序;通常pid为1)

systemd ---> systemctl systemctl 管理系统服务 (服务:指在系统中开启的共享系统资源到网络中的1程序) cs client --- server systemctl:管理系统服务 用法: start开启stop关闭status查看状态reload重新加载restart重新启动服务enable设定服务开机启动enable --now设定服务开机启动并当前开启服务disable设定服务开机不启动disable --now设定服务开机不启动并当前关闭服务list-units查看系统所有服务当前状态list-unit-files查看服务开机状态list-dependencies列出服务依赖性mask冻结服务unmask解锁set-default设定系统运行模式multi-user.target无图形网络模式 3graphical.target有图形网络模式 5get-default查看系统运行模式 系统运行模式(0-6) 0PowerOff1single-单用户模式2noG+NETWORK -多用户模式,无NFS3命令行模式 无桌面程序( init 3 )4暂时没有被使用5G+NETWORK ( init 5 )6REBOOT-重启模式(init 6) 示例:

7.系统中的登陆审计

最新回复(0)