认识进程

####进程######
什么是进程?
程序(program)放置在储存媒体中(如硬盘.光盘.软盘.磁带等),为实体文件的形态存在
进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说i,进程就是一个正在运行中的程序。

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

查看进程
ps: 静态查看进程信息
-A:所有的process均显示出来,与-e具有同样的效用;
-a: 不与terminal有关的所有process;
-u: 有效使用者(effective user)相关的process;
x: 列出系统中所有运行包含tty输出设备
a:在当前环境中运行的进程
f:显示进程的父子关系
e:显示进程的详细信息(系统资源的调用)
举例:
ps -A
在这里插入图片描述
ps -a
在这里插入图片描述
ps -u
在这里插入图片描述
ps x
在这里插入图片描述
ps a
在这里插入图片描述
ps f
图中6265就是1525的子进程在这里插入图片描述
ps e
在这里插入图片描述
ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
(子进程就是父进程衍生出来的进程 ,杀死父进程,子进程就会变成孤儿进程,)
ps ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树
举例:ps aux
在这里插入图片描述
显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
举例:
ps -o comm,user,group,%cpu,%men,pid
在这里插入图片描述

进程排序

ps ax --sort= 
               +%cpu|-%cpu
               +%mem |-%mem     ##+代表升序 -代表降序

##测试
抓取系统中内存使用量排在前5的进程的pid
[root@localhost Desktop]# ps ax -o pid,%mem --sort=-%mem |head -n 6 |tail -n 5
在这里插入图片描述
###stat显示的消息##3
S ###进程状态
l ###内存中有锁定空间
N ###优先级低
< ###优先级高

  • ###前台运行
    s ####顶级进程,没有父级进程的进程

#####3.进程优先级#####
1.进程的优先级范围
-20~19
越小优先级越高,数字越大优先级越低。
2.优先级查
[root@localhost Desktop]# ps -o pid,nice,comm
PID NI COMMAND
3074 0 bash
3670 0 ps

3.指定某个优先级开启进程
nice -n 优先级数字 进程名称

nice -n -5 vim & ##开启vim并且指定程序的优先级为-5
[root@localhost Desktop]# nice -n -5 vim &
[1] 5172

4.改变进程优先级
reince -n 优先级数字 进程pid
reince -n -5 1806 ##改变1806进程的优先级为-5
[root@localhost Desktop]# ps -o pid,nice,comm
PID NI COMMAND
2707 0 bash
2747 0 ps
举例:
在这里插入图片描述

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

##########5.进程信号#########

  1. 常用信号等级
    1 ###进程重新加载配置
    2 ###删除进程在内存中的数据
    3 ###删除鼠标在内存中的数据
    9 ###强行结束单个进程(不能被阻塞)
    15 ###正常关闭进程 (可能会被阻塞)
    man 7 signal ##查看信号详细消息

kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
杀死uid为4123的进程在这里插入图片描述
###############6.进程的动态监控##########
1.top
1 ##显示cpu每个核的负载
s ##调整刷新频率
c ##cpu负载排序
m ##内存使用量排序
h ##查看帮助
u ##查看指定用户进程
k ##对指定进程发起信号
q ##退出
在这里插入图片描述

###############7.控制服务############
1.什么是服务
常驻在内存当中的进程通常都是负责一些系统所提供的功能以服务用户各项服务,因此这些常驻进程就会被我们称为服务
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
4.进程控制命令
ssh------------------------>sshd
client(客户端) server(服务端)systemctl mask sshd
systemctl ##服务控制命令
systemctl 命令 服务名称
我们以sshd服务为例子
systemctl status sshd ###查看服务状态,inacative(不可用),active(可用)
systemctl start sshd ###开启服务
systemctl stop sshd ###关闭服务
systemctl restart sshd ###重启服务
systemctl reload sshd ###重新加载服务配置
systemctl enable sshd ###设定服务开机启动
systemctl disable sshd ###设定服务开机不启动
systemctl mask sshd ###锁定服务
systemctl unmask sshd ###解锁服务
systemctl list-units ###列出已经开启服务当前状态
systemctl list-unit-files ###列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies ###列出服务的依赖
systemctl systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动级别为图形模式
###配置后有些命令需要重起后才能生效
举例
systemctl status sshd ###查看服务状态,inacative(不可用),active(可用)
在这里插入图片描述
systemctl stop sshd ###关闭服务
在这里插入图片描述
systemctl start sshd ###开启服务syscd
在这里插入图片描述
systemctl enable sshd ###设定服务开机启动
在这里插入图片描述
systemctl disable sshd ###设定服务开机不启动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值