Linux的思维——进程

对于进程的管理

进程状态

R(Running):该程序正在运行中
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T停止状态(stop):可能是在工作控制(背景暂停)或除错(traced)状态
Z(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外

查看进程

1)以图形方式查看
gnome-system-monitored
2)进程查看命令——ps
ps
-A ##所有进程
在这里插入图片描述
-a ##在当前环境中运行的进程,不包含环境信息
在这里插入图片描述
-u ##显示进程用户信息
在这里插入图片描述
a ##在当前环境中运行的进程
在这里插入图片描述
x ##列出系统中所有运行包含tty输出设备
在这里插入图片描述
f ##显示进程的父子关系
在这里插入图片描述
e ##显示进程的详细信息(系统资源的调用)
在这里插入图片描述

ps常用组合

ps aux ##显示系统中所有进程并显示进程用户
在这里插入图片描述
ps ef ##显示进程详细信息并显示进程父子关系
在这里插入图片描述
ps ax ##显示当前系统中的所有进程
在这里插入图片描述
pstree ##显示当前系统的进程树
在这里插入图片描述

显示进程指定信息参数——ps -o

comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
在这里插入图片描述
多个一起显示中间要加逗号,例如:comm,user,group
–sort=%cpu#cpu资源按照升序排列 --sort=-%cpu#cpu资源按照降序排列,如果要按照其他信息排列,就用其他,比如%mem就是按照占据内存资源排列在这里插入图片描述

stat中显示的信息

S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程(不是任何进程的子进程)
在这里插入图片描述

进程的优先级

进程优先级范围
-20——19优先级越高

优先级的查看命令——nice

ps ax -o pid,nice,comm #顺序显示进程的pid,优先级,进程名称
在这里插入图片描述

指定某个优先级开启进程

nice -n 优先级 进程名称 #开启某个进程并且指定优先级
例子:nice -n 16 vim & #开启vim并且指定程序优先级为16在这里插入图片描述

改变进程优先级

renice -n 优先级 进程pid #改变某个已经开启的进程的优先级
例子:renice -n -5 3816在这里插入图片描述 #改变3816进程的优先级为-5

环境中进程的前后台调用

jobs ##查看被打入环境后台的进程并显示进程数(jobsnum
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
在这里插入图片描述

进程信号

常用信号等级

1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
一共有30个不同的信号等级,但是能被控制且常用的都是上文列出来的,其余具体详见https://blog.csdn.net/weixin_44243574/article/details/86473028

kill -信号 pid #对于pid进程进行控制
在这里插入图片描述
killall -信号 **** #对于所有名字里有****的进行控制
在这里插入图片描述
pkill -u student -信号 #对于某个用户的所有进程进行控制
在这里插入图片描述
在某些情况下,假如进程正在进行而且不能中断,那么进程可以忽略这个SIGTERM信号,但是对于SIGKILL信号,进程是不能忽略的
这是一个强制性信号,如果发送SIGKILL信号给进程,Linux就将进程停止在那

进程的动态监控

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

对于服务的控制

1、什么是服务
服务是一类进程的集合(功能复杂,所使用的进程不只一个)
企业中的cs模型:c-client(用户)、s-server(企业) #企业提供服务并收取费用,用户享受服务并缴纳费用
定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件,简称服务
2、用什么控制服务
系统初始化进程可以对服务进行相应的控制
3、当前系统初始化进程是什么
systemctl ##显示系统初始化进程
在这里插入图片描述
pstree ##显示系统中的进程树
4、进程控制命令
在系统中的很多命令实际上都是基于系统提供的服务,比如ssh命令就是基于sshd服务,在sshd服务中的cs模型如下
ssh————->sshd 用户使用由sshd服务提供的ssh命令
client server

服务控制命令——systemctl

以下都是systemctl命令的参数
status 服务名称 ##查看服务状态,inactive(不可用),active
在这里插入图片描述
start 服务名称 ##开启服务
stop 服务名称 ##关闭服务
restart 服务名称 ##重启服务
reload 服务名称 ##重新加载服务配置
enable 服务名称 ##设定服务开机启动
disable 服务名称 ##设定服务开机不启动
list-units ##列出已经开启的服务当前状态
在这里插入图片描述
mask 服务名称 ##冻结服务
unmask 服务名称 ##解冻服务
list-dependencies ##列出服务的依赖
在这里插入图片描述
set-default multi-user.target ##设定系统启动级别为多用户模式(无图形的文本模式)
set-default graphical.target ##设定系统启动级别为图形模式
list-unit-files ##列出所有服务开机启动的状态
在这里插入图片描述

服务的状态(STATE)

disable(关闭)
enable(开启)
static(#静止的#属于依赖性,作为其他程序的前置条件,开机时无需去管,其他服务打开时自动打开)
masked(锁定的)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值