Linux —— 管理Linux系统中的进程

目录

1. 进程的概述

1.1 进程的状态

2 进程查看

 2.1 ps命令

 2.2 ps命令显示信息

2.3 pgrep

2.4 pidof

2.5 top

3. 进程优先级

3.1 按照资源占用划分进程类型

3.2 优先级范围

3.3 NICE值

4. 进程前后台调用

4.1 进程前后台调用相关命令

5. 信号

5.1 可控信号类型

5.2 信号指令

6. 系统守护进程

6.1 守护进程的定义

6.2 守护进程的类型 

6.3 systemctl用法总结


1. 进程的概述

程序是静态的文件,而进程(Process)就是运行中一个程序的副本,副本拥有准备期、运行期和终止期三种状态。

1.1 进程的状态

状态 定义
R(TASK_RUNNING) 可执行状态(RUNNING、READY)
S(TASK_INTERRUPTIBLE)  可唤醒睡眠状态 
D (TASK_UNINTERRUPTIBLE)  不可唤醒睡眠状态 
T(TASK_STOPPED)  暂停状态 
z( EXIT_ZOMBIE)  僵死态

2 进程查看

pstree  ## 查看进程树

 2.1 ps命令

ps:用来显示当前命令执行时的进程状态

命令 功能
a 显示与终端相关进程(BSD)
x 显示所有与终端无关进程(BSD)
u 以用户为归类来显示进程状态信息(BSD)
f 层级结构显示进程信息
o 指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid
-e 显示所有进程(unix)
-f 显示完整格式信息(unix)
-H 层级结构显示进程的相关信息
-o 指定查看选项,pid,comm,nice,%cpu,%mem,nice

 2.2 ps命令显示信息

字段 解释
USER 用户名称
PID 进程id
%CPU cpu用量百分比
%MEM 内存用量百分比
VSZ 占用虚拟内存大小
RSS 常驻内存集大小
TTY 字符终端
STAT 进程状态
START 运行时间
TIME 占用CPU时间
COMMAND 进程名称

2.3 pgrep

pgrep:显示指定信息进程

命令 功能
-u   uid 显示指定用户进程
-U  name 显示指定用户进程
-t    tty

显示指定终端进程

-l

显示进程名称

-a 显示完整格式进程名
-P   pid 显示指定进程的子进程

2.4 pidof

pidof:根据进程名称获取pid

2.5 top

top内部参数

命令 功能
P cpu百分比排序
M 内存百分比
T 累计占用cpu时间
l 开启/关闭uptime信息
t 开启/关闭task&cpu信息
s 调整刷新频率
k 终止进程
u 查看指定用户进程

top命令参数

命令 功能
-d 指定刷新间隔

-b

以批次方式显示
-n 显示批次数量

top显示进程信息详解

top                      系统当前时间

up                       系统运行时长

user                    登录当前系统的用户数量

load average      平均负载1分钟 5分钟 15分钟的队列长度(uptime)

task                    任务

%cpu                  cpu占用百分比

  •            us     用户空间
  •            sy     内核空间
  •            ni      nice调整时间
  •            id      空闲时间
  •            wa    等待io
  •            hi      处理硬件中断
  •            si      处理软件中断
  •            st      被虚拟化程序占用的百分比

mem                   物理内存

swap                   交换分区占用

3. 进程优先级

3.1 按照资源占用划分进程类型

资源使用量 进程类型
cpu使用密集 CPU-Bound
I/O使用密集 I/O-Bound

3.2 优先级范围

对Linux而言,优先级被划分成了固定的个数(0-139)。

其中,1-99为实时优先级,数字越大优先级越高,不用手动处理系统自用,100-139为静态优先级,与实时优先级相反,数字越小优先级越高。

3.3 NICE值

NI :进程Nice值,代表这个进程的优先值。-20 ~ 19用静态优先级,其中普通用户只能调低优先级,而超级用户则可以任意调整。

关于优先级的命令:

  • ps      ax    -o    nice,pid,comm
  • nice   -n   优先级   程序
  • reince-n   优先级   程序pid

4. 进程前后台调用

4.1 进程前后台调用相关命令

指定 含义
jobs 查看后台任务
ctrl+z 将前台运行进程打入后台
bg 激活后台进程
fg 调回进程
& 运行在后台

实验:打开gedit,并将其运行在后台

5. 信号

5.1 可控信号类型

可控信号 含义
1 刷新
2 中断键盘输入
3 退出键盘
9 强制结束
15 正常关闭
18 激活进程
19 强制暂停
20 正常暂停(会被阻塞)

5.2 信号指令

kill     信号  pid

pkill   信号  进程名称

实验:

 通过信号:kill     信号  pid中断输入

通过信号:pkill   信号  进程名称中断输入

6. 系统守护进程

6.1 守护进程的定义

守护进程就是我们经常讲的Daemon进程,即linux后台执行的服务进程。

它是独立于控制终端、周期性地执行某种任务或等待处理某些发生的事件。

它不会随着终端的关闭而停止,一直到接收到停止信息才会结束。

6.2 守护进程的类型 

守护进程类型 使用系统及特点
Sysv init 经典的守护进程类型延用到了rhel6
upstart 做到并行启动rhel6中的应用
systemd

                       独立完成启动,rhel7中使用

6.3 systemctl用法总结

用法一:

指令 用途
systemctl list-unit-files  查看服务开机运行情况 
systemctl list-units  查看服务当前运行情况 
systemctl list dependencies  查看服务依赖性 
systemctl status service  查看服务状态 
systemctl start service  开启服务 
systemctl stop service  关闭服务 
systemctl reload service 重新加载服务配置

实验:查看服务当前运行情况(systemctl list-units) 

用法二:

指令 用途
systemctl restart service  重新启动服务 
systemctl enable service  设定服务开启启动 
systemctl enable –now service  设定服务开机启动并开启服务
systemctl disable service  设定服务开机关闭 
systemctl set-default multi-user.target  设定系统运行级别为无图形网络模式 
systemctl set-default graphical.target  设定系统运行级别为图形网络模式
发布了50 篇原创文章 · 获赞 37 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/m0_37868230/article/details/104153276
今日推荐