Linux下的进程管理

进程

1.进程是什么

计算机上所有可运行的软件,通常也包括操作系统,被组织成若干顺序进程(sequential process),简称进程(process)。一个进程就是一个正在执行程序的实例,包括程序设计器、寄存器和变量的当前值。一个进程是某种类型的一种活动,它有程序、输入、输出以及状态。单个处理器可以被若干进程共享,它使用某种调度算法决定何时停止一个进程的工作,并转而为了另一个进程服务功能
 每个进程都有一个唯一的标识符(PID),内核通过这个标识符来识别不同的进程,同时,进程标识符(PID)也是内核提供给用户程序的接口,用户程序通过PID对进程发号施令。PID是32位的无符号整数,它被顺序编号:新创建进程的PID通常是前一个进程的PID加1。然而,为了与16位硬件平台的传统Linux系统保持兼容,在Linux上允许的最大PID号是32767,当内核在系统中创建第32768个进程时,就必须重新开始使用已闲置的PID号。在64位系统中,PID可扩展到4194303。

2.5种进程状态
R (TASK_RUNNING),可执行状态表示进程要么正在执行,要么正在准备执行。
S (TASK_INTERRUPTIBLE),可中断的睡眠状态表示进程被阻塞(睡眠),只有当某个条件是TRUE时,其状态相应的设置为 TASK_RUNNING。它可以被信号和wake_up唤醒
D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态。进程处于睡眠状态,但是此刻进程是不可中断的。
T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态进程收到停止信号后会停止运行
Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程表示进程的执行被终止,但是其父进程还没有使用 wait() 等系统调用来获知它的终止信息。
3 .进程查看 ps
ps 
参数作用
-A所有进程
-a在环境中的所有进程,不包含环境信息
-u显示进程用户信息
a显示当前环境中运行的进程,包含环境信息
x列出系统中所有运行包含tty输出设备
f显示进程的父子关系
e显示进程的详细信息(系统资源的调用)

在这里插入图片描述

ps 组合命令 —
psaux 显示系统中所有进程并显示进程用户
ps ef显示进程详细信息并显示进程父子关系
ps ax显示当前系统所有进程
pstree显示当前系统进程树

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

显示进程的指定信息
ps -o XXX ##显示进程的指定信息
ps -o comm ##进程名称
ps -o user ##进程所有人
ps -o group ##进程所有组
ps -o %cpu ##进程cpu使用率
ps -o %mem ##进程内存使用率
ps -o pid ##进程id
ps -o nice ##进程优先级

在这里插入图片描述

进程排序 ps ax --sort = +%cpu|-%cpu / +%mem|-%mem

+/-%cpu表示对cpu的使用率进行排序(+有小到大;-由大到小)
+/-%mem对内存的占用大小排序

stat中显示的信息
S进程状态
s顶级进程
l内存中有锁定空间
N优先级低
<优先级高
+前台运行

在这里插入图片描述

进程优先级

1.进程优先级范围 -20 – 19 越小优先级越高
2.优先级查看
watch -n 1 ps -a -o comm,stat,gid,nice
3.进程运行后改变优先级: nice -n 优先级 proname
在打开时同时设置优先级:renice -n 优先级 pid
在这里插入图片描述
环境中进程的前后台调用
jobs :查看被打入环境后台的进程
ctrl+z : 把占用终端的进程打入后台
fg jobsnum :把后台进程调回前台
bg jobsnum :把后台暂停的进程运行
comm & :让命令直接在后台运行
在这里插入图片描述

进程信号

1.常用信号等级
1 进程重新加载配置
2 删除进程内存中的数据
3 删除鼠标进程中的数据
9 强行结束单个进程
15 正常关闭进程(可能会被阻塞)
18 运行暂定的进程
19 暂定某个进程(不能被阻塞)
20 把进程打入后台(可以被阻塞)
man 7 signal 查看信号详细信息
在这里插入图片描述

kill -信号 进程pid
killall -信号 进程名字
pkill -u euidlist -信号
可控信号含义
1刷新
2中断键盘输入
3退出键盘
9强制结束
15正常关闭
18激活进程
19强制暂停
20正常暂停

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

进程动态监控

top
1 – 显示cpu每个核的负载
s – 调整刷新的频率
c – cpu负载排序
m – 内存使用量排序
h – 查看帮助
u – 查看指定用户进程
k – 对指定进程发起信号(先输入pid 再输入信号)
q – 退出
在这里插入图片描述

系统守护进程及服务
守护进程的定义
  • 守护进程就是通常讲Daemon进程,
  • 是linux后台执行的服务进程
  • 是独立于控制终端、周期性地执行某种任务或等待处理某些发生事件
  • 不会随终端关闭而停止,直到接受停止信息才会结束
    在RHEL7和8中使用systemd来完成系统服务启动
服务

服务就是进程簇
使用sysyemctl来管理服务

指令用途
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设定系统运行级别为图形网络模式

实验环境: 物理机 win10 Vmware 15.1 虚拟机1:rhel7 虚拟机2 :rhel8
在这里插入图片描述

  • 查看开机进程状态
    在这里插入图片描述
    enable 代表开机启动 disable 表示禁用 static 代表 需要时启动
    在这里插入图片描述
  • 查看系统当前服务状态
    在这里插入图片描述
  • 查看服务依赖性
    在这里插入图片描述
  • 查看服务状态
    在这里插入图片描述
    配置两台虚拟机使用桥接模式并处于同一网段
    在虚拟机1上使用ssh连接虚拟机2
    在这里插入图片描述
    在虚拟机2上停止ssh服务
    在这里插入图片描述
    停止虚拟机2的sshd服务后,虚拟机1使用ssh连接虚拟机2就被拒绝了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值