0
点赞
收藏
分享

微信扫一扫

Linux——进程管理

以前干嘛去了 2022-04-01 阅读 49

进程管理

【前言】

程序:
(比如公司)

  • 保存在硬盘、光盘等介质可执行代码
  • 静态保存的代码(二进制)

进程:
(比如部门)

  • 在CPU及内存中运行的过程
  • 动态的代码(有生命周期和状态)
  • 有父、子进程

线程(比如员工)与进程:

  • 资源分配与调度
  • 进程是资源调配的基本单位
  • 线程是程序执行的最小单位

一、查看进程信息

1.1 查看静态的进程统计信息——ps

ps -aux(参数)
参数说明
-u列出进程的用户
-a显示终端上的所有进程
-x所有的终端进程

在这里插入图片描述

名称描述
USER启动该进程的用户账号名称
PID进程的ID,当前系统中是唯一的
%CPU占用的CPU百分比
%MEM占用内存的百分比
VSZ该进程使用的虚拟内存量(KB)
RSS该进程占用的物理内存量(KB)
TTY启动进程的终端名。不是从终端启动的进程则显示为?
STAT该进程的状态。(见表格下详解)
START该进程被触发启动时间
TIME该进程实际使用CPU运行的时间
COMMAND进程的启动命令

僵厂进程:

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源

1.2 查看静态的进程统计信息——ps -elf

ps -elf(参数)
参数说明
-e系统内所有进程
-l长格式显示
-f完整的格式显示

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

名称描述
F内核分配给进程的系统标记
s进程的状态
UID启动这些进程的用户
PID进程的进程ID,每个进程都有一个唯一的PID
PPID父进程的进程号(如果该进程是由另—个进程启动的)
C进程生命周期中的CPU利用率
PRI进程的优先级(越大的数字代表越低的优先级)
NI谦让度值用来参与决定优先级
ADDR进程的内存地址
sz假如进程被换出,所需交换空间的大致大小
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
STIME进程启动时的系统时间
TTY进程启动时的终端设备
TIME运行进程需要的累计CPU时间
CMD进程的启动命令

2.3 查看动态的进程排名信息——top

[root@Kiro]# top

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

top命令

命令说明
P键根据CPU使用百分比大小进行排序
M键根据驻留内存大小进行排序
N键根据启动时间进行排序
c键切换显示命令名称和完整命令行
h键可以获得top程序的在线帮助信息
k键根据提示输入指定进程的PID号并按Enter键终止对应的进程
q键退出top程序
数字1键显示CPU个数和状态

top各行解释

在这里插入图片描述
第一行:任务队列信息

信息说明
12:45:44系统时间
up 3:55系统已运行时长
3 users当前登录用户数
load average: 0.08, 0.04, 0.05系统负载,即单位时间内系统处理的任务数,后面三个数值分别为8分钟、4分钟、5分钟前到现在的平均值

第二行:进程信息

信息说明
Tasks总进程数
running正在运行的进程数
sleeping休眠的进程数
stopped中止的进程数
zombie僵死的进程数

第三行:CPU的信息

信息说明
us用户占用
sy内核占用
ni优先级调度占用
id空闲CPU,要了解空闲的 CPU 的百分比,主要看 %id 部分
waI/O 等待占用
hi硬件中断占用
si软件中断占用
st虚拟化占用

第四行:内存的信息

信息说明
total总内存空间
free空闲内存
used已用内存
buff/cache物理内存和交换内存的缓冲区总和

第五行:交换空间的信息

信息说明
total总交换空间
free空闲交换空间
used已用交换空间
avail Mem可用物理空间

2.4 根据特定条件查看进程信息——pgrep


[root@Kiro opt]# pgrep -l -U kiro
18505 gnome-keyring-d
18510 gnome-session-b
18519 dbus-launch
18520 dbus-daemon

参数说明
-l显示进程名
-U指定特定用户
-t指定终端

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

2.4 以树形结构列出进程信息——pstree

pstree命令可以查看当前系统的进程树,包括个各进程对应的PID号、用户名、完整命令等信息

选项意义
-A各进程树之间的连接以ASCII字符来连接
-u各进程树之间的连接以Unicode字符来连接,在某些终端界面下可能会有错误
-p同时列出每个进程的PID
-u同时列出每个进程的所属账号名称

在这里插入图片描述
不用加-u 因为已经指定用户信息了
在这里插入图片描述

二、进程的启动与控制

2.1 启动进程

2.1.1 手工启动

  • 前台启动:用户输入命令,直接执行程序
  • 后台启动:在命令行尾加入“&”符号
    输出信息中包括后台任务序号、PID号

进程启动后会直接放入后台,而不占用前台的命令操作界面,方便用户进行其他操作:

在这里插入图片描述

2.1.2 调度启动

  • 使用at命令 :一次性计划任务
    服务脚本名称:/etc/init.d/atd

eg:在当天的23:00关闭电脑
在这里插入图片描述

  • 使用crontab命令,设置周期性计划任务

2.1.3 进程的前后台调度(Ctrl + Z 组合键、 jobs命令和fg命令)

  • Ctrl + Z 组合键: 将当前进程挂起,即调入后台并停止执行
  • jobs命令: 查看处于后台的任务列表

[-l]选项显示PID号

  • fg命令: 将后台进程恢复到前台运行,可指定任务序列号
[root@localhost ~]# jobs
[1]- Stopped    cp /dev/cdrom mycd.iso
[2]+ Stopped    top
[root@localhost ~]# fg 1

2.1.4 终止进程的运行

  • Ctrl+C组合键

在这里插入图片描述

  • kill、killall命令
  • pkill命令
-U根据进程所属的用户名终止相应进程
-t根据进程所在的终端终止相应进程
举报

相关推荐

0 条评论