六、管理Linux系统中的进程

六、管理Linux系统中的进程

6.1 进程理解

6.1.1 进程

  • 程序是静态文件
  • 进程时运行中的程序的一个副本
  • 进程存在生命周期(准备,运行,终止)

6.1.2 进程状态

状态定义
R(TASK_RUNNING可执行状态(RUNNING,REDAY
S(TASK_INTERRUPTIBLE)可唤醒睡眠状态
D(TASK_UNINTERRUPTABLE)不可唤醒睡眠状态
T(TASK_STOPPED)暂停状态
Z(EXIT_ZOMBLE)僵死态

6.2 进程查看

6.2.1 查看进程树(pstree)

[root@localhost Desktop]$  pstree  #查看进程树

进程树

6.2.2 显示当前命令执行时进程状态(ps)

命令效果
ps a显示与终端相关进程(BSD)
ps x显示所有与终端无关进程(BSD)
ps u以用户为归类来显示进程状态信息(BSD)
ps f层级结构显示进程信息
ps o指定查看选项 pid comm.nice,pri,pcpu,stat,ppid
ps -e显示所有进程(unix)
ps -f显示完整格式信息(unix)
ps -H层级结构显示进程的相关信息
ps -o指定查看选项,pid comm,nice ,%cpu,%mem
  • 例子1
[root@localhost Desktop]$ ps auf #用层级结构以及用户为归类显示与终端相关进程

ps

  • 例子2
[root@localhost Desktop]$ ps -eo pid,comm,nice,%cpu #指定显示

ps

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

6.2.2 显示指定信息进程(pgrep)

命令效果
pgrep -u + ‘uid’显示指定用户进程
pgrep -U+‘name’显示指定用户进程
pgrep -t+‘tty’显示指定终端进程
pgrep -l显示进程名称
pgrep -a显示完整格式进程名
pgrep -P+ ‘pid’显示指定进程的子进程
  • 例子
[root@localhost Desktop]$ pgrep -u 1000 #显示uid为1000的进程
[root@localhost Desktop]$ pgrep -U student #显示student用户的进程
[root@localhost Desktop]$ pgrep -t pts/0 #显示终端进程
[root@localhost Desktop]$ pgrep -lu 1000 # 显示进程名称
[root@localhost Desktop]$ pgrep -aU student #显示完整进程名称
[root@localhost Desktop]$ pgrep -P 0 显示0进程的子进程

6.2.3 根据进程名称获取pid (pidof)

pidof +进程名称 可以获取进程pid

  • 例子
[root@localhost Desktop]$ pidof vim # 获取vim的pid

6.2.4 显示进程信息(top)

[root@localhost Desktop]$ top #显示进程信息

top

  • top内部参数
参数效果
Pcpu百分比进行排序
M内存百分比排序
T累计占用CPU时间排序
l开启/关闭uptime信息
t开启/关闭task&cpu信息
s调整刷新频率(默认3S)
k终止进程
u查看指定用户进程
q退出top
d改变刷新时间
  • top 命令参数
[root@localhost Desktop]$ top -d 5 # 改变刷新时间为5S
[root@localhost Desktop]$ top -b #以批次方式显示
[root@localhost Desktop]$ top -n 10 #显示批次数量10
命令效果
top -d+‘时间’指定刷新间隔
top -b一批次方式显示
top -n +‘数量’显示批次数量
  • top显示进程信息详解
top系统当前时间
up系统运行时间
user登陆当前系统的用户数量
load average平均负载1分钟5分钟15分钟的队列长度(uptime)
task任务
%cpucpu占用百分比
mem物理内存
swap交换分区占用
  • %cpu详解
us用户空间
sy内核空间
ninice调整空间
id空闲时间
wa等待 io
hi处理硬件中断
si处理软件中断
st被虚拟化程序占用的百分比

6.3 进程优先级

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

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

6.3.2 优先级范围

  • 对Linux而言优先级被划分成固定个数(0-139)
  • 1-99为实时有优先级,数字越大优先级越高,不用手动处理系统自用
  • 100-139为静态优先级,数字越小优先级越高

6.3.3 NICE 值

  • NICE值:-20~19对用静态优先级
  • 普通用户只可以调低优先级,超级用户任意调整
  • 优先级命令
[root@localhost Desktop]$ ps ax -o nice,pid,comm #查看进程状态
[root@localhost Desktop]$ nice -n 5 vim file #新建一个优先级为5的文件file
[root@localhost Desktop]$ renice -n 10 2988 #将pid为2988的进程优先级改为10

nice

6.4 进程前后台调用

  • 进程前后台调用相关命令
指令含义
jobs查看后台任务
ctrl+Z将前台运行进程打入后台
bg激活后台进程
fg调回进程
&运行在后台
  • 例子1 演示bg命令
    bg
  • 例子2 演示fg命令
    fg

6.5 信号

  • 可控信号类型
[root@localhost Desktop]$ man 7 signal #查看信号详细信息

man

可控信号含义
1刷新
2中断键盘输入
3退出键盘
9强制结束
15正常关闭
18激活进程
19强制暂停
20正常暂停
  • 信号指令
    kill + '-信号‘ +pid
    pkill+ ’ -信号‘ +name
    killall +‘-信号’+name 批量处理
  • 例子
[root@localhost Desktop]$ kill -9 2988 #强制结束2988进程
[root@localhost Desktop]$ killall -9 vim # 强制结束vim所有进程

kill

6.6 系统守护进程

6.6.1 守护进程的定义

  • 守护进程就是通常讲的Daemon进程
  • 是linux后台执行的服务进程
  • 是独立控制终端,周期性的执行某种任务或等待处理某些发生事件
  • 不会随终端关闭而停止,直到接受停止信息才会结束

6.6.2 守护进程类型

守护进程类型使用系统及特点
Sysv经典的守护进程类型延用到rhel6
upstart做到并行启动rhel6中应用
system独立完成启动,rhel7中使用

6.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 restart service重新启动服务
systemctl enable service设定服务开启启动
systemctl enable -now service设定服务开机启动并开始服务
systemctl disable service设定服务开机关闭
systemctl set-default multi-user.target设定系统年运行级别为无图形网络模式
systemctl set-default graphical.target设定系统运行级别为图形网络模式
  • 例子1 查看状态
    查看状态
  • 例子2 查看开启关闭的服务
    在这里插入图服务片描述
  • 例子3 查看当前运行状态
    当前
  • 例子4 在运行中查找服务 /+服务名称
    在这里插入图片ssh描述
  • 例子5关闭服务
    在关闭这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值