4.16-4.17 程序和进程

87 阅读4分钟

程序

程序:执行特定任务的一串代码,静态,存在硬盘中

进程

进程:运行中的程序,动态,存在内存中

管理进程:开启进程消耗资源(内存 硬盘 cpu使用率),硬资源消耗完了,卡顿

查看是多线程还是单线程

pstree

grep -i threads /proc/进程的PID/status

prtstat 进程pid号

进程分类:

守护进程:daemon,在系统引导过程中启动的进程,和终端无关进程 本机网络的服务程序

前台进程:跟终端相关,通过终端启动的进程

进程的状态:

运行态:running

就绪态:ready

僵尸态:zombie 结束进程,父进程结束前,子进程不关闭,杀死父进程可以关闭僵尸态 的子进程(pid号小的是父进程)

五大性能

内存使用率:free

cpu使用率:ps,top,w,iostat,uptime

硬盘容量:df

硬盘读写性能:iostat

网络宽带:iftop

ip地址:ip a ,ifconfig

磁盘分区:lsblk fdisk -l

进程命令

ps(静态)

可以查看进程当前状态的快照,默认显示当前终端中的进程

ps aux

a:显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将示系统中所有的进程信息

u:使用以用户为主的格式输出进程信息

x:显示当前用户在所有终端下的进程信息

image-20240416162930658.png

USER:用户

PID:进程的id

%CPU:cpu的使用率

%MEM:内存的使用率

VSZ:虚拟内存

RSS:真实内存

TTY:登录终端

STAT:进程状态

-R:该进程正在运行 -S:该进程处于睡眠状态 -T:停止状态 -Z:僵尸进程

START:进程启动时间

TIME:进程占用cpu的时间

COMMAND:进程的命令名

ps aux | grep -v grep | grep Z 过滤僵尸进程

系统中毒该如何处理

先用ps/top命令去看系统的运行状态,如果查看到异常

先找到异常程序,

排查是否可以结束

如果可以结束 通过pid号 找到文件的具体位置,把他删除

如果再次生成,删除后 建立和病毒同名的文件 先站住位置 加特殊权限

结束进程

实在不行 重装系统 备份

top(动态)

top 命令可以动态地持续监听进程地运行状态

image-20240416181711688.png

第一部分

第一行为任务队列信息

image-20240416181828302.png

第二行为进程信息

image-20240416181903105

image-20240416181903105.png 第三行为 CPU 信息

image-20240416181922714.png

第四行为物理内存信息

image-20240416181950810.png 第五行为交换分区(swap)信息

image-20240416182013523.png

第二部分

PID:进程的 ID。

USER:该进程所属的用户。

PR:优先级,数值越小优先级越高。

NI:优先级,数值越小、优先级越高。

VIRT:该进程使用的虚拟内存的大小,单位为 KB。

RES:该进程使用的物理内存的大小,单位为 KB。

SHR:共享内存大小,单位为 KB。

S:进程状态。

%CPU:该进程占用 CPU 的百分比。

%MEM:该进程占用内存的百分比。

TIME+:该进程共占用的 CPU 时间。

COMMAND:进程的命令名。

统计进程总数:

top | wc -l

ps aux | wc -l

pgrep 查看指定的进程

-u 指定用户

-l 显示进程名

pgrep -u zahngsan | wc -l 张三用户一共运行了多少程序

pidof

已知程序名不知pid号

pstree 命令进程树

以树形结构列出进程信息

-p 显示pid号

-H 高亮显示

lsof 列出打开的文件

过滤端口号

lsof -i :端口

lsof -p pid号 列出当前进程打开的所有文件

echo" " > 大文件

把大文件的内容变成一个空格

vmstat 监控系统资源

image-20240417155441063.png

image-20240417094527256.png

free 内存

free -h 查看

echo 3 > /proc/sys/vm/drop_caches 清除缓存

iostat IO性能状态数据
iotop 监视磁盘I/O
uptime 系统运行了多长时间
mpstat 显示cpu相关统计
dstat 系统资源统计

进程管理

前台执行:会影响当前的操作

后台执行:不会影响当前的操作

命令 &

jobs 查看后任务列表

image-20240417165927903.png

结束进程

kill pid号

-数字

-单词

image-20240417171817918.png

killall 程序名称

计划任务

at 一次性

atq 查看未执行的任务列表

atrm 数字 删除第几条任务

HH:MM YYYY-MM-DD

时 分 年 月 日

crontab 周期

-e 编辑计划任务

-l 查看计划任务

-r 删除计划任务

-u 指定用户

5 个 * + 执行的任务

image-20240417174757703.png

image-20240417174922011.png