Linux下系统进程及服务的控制

系统进程

什么是进程

进程就是系统未完成并且正在进行的工作

查看进程

1.图形查看

gnome-system-monitor
在这里插入图片描述

2.进程查看命令

ps -A#所有进程
ps -a#在当前环境中运行的进程,不包含环境信息
ps -u#显示进程用户信息
ps a#在当前用户环境中运行的进程
ps x#列出系统中所有运行包含tty输出设备
ps f#显示进程的父子关系
ps e#显示进程的详细信息(系统资源的调用)
  • ps -A #所有进程
    在这里插入图片描述
  • ps -a #在当前环境中运行的进程,不包含环境信息
    在这里插入图片描述
  • ps -u #显示进程用户信息
    在这里插入图片描述
  • ps a #在当前用户环境中运行的进程
    在这里插入图片描述
  • ps x #列出系统中所有运行包含tty输出设备
    在这里插入图片描述
  • ps f #显示进程的父子关系
    在这里插入图片描述
  • ps e #显示进程的详细信息(系统资源的调用)
    在这里插入图片描述

##ps常用组合

ps aux#显示系统中所有进程并显示进程用户
ps ef#显示进程详细信息并显示进程父子关系
ps ax#显示当前系统中的所有进程
pstree#显示当前系统的进程树
  • ps aux #显示系统中所有进程并显示进程用户
    在这里插入图片描述
  • 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 -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 #进程优先级,进程的优先级范围-20~19 ,优先级数字越小,进程优先级越高
    在这里插入图片描述

##进程排序

  • ps --sort=+%cpu|-%cpu #+加号可加可不加默认从低到高排列
    在这里插入图片描述
    在这里插入图片描述
  • ps --sort=+%men|-%men
    在这里插入图片描述
    在这里插入图片描述

##测试
抓取系统中内存使用量排在前五的进程的pid
首先我们可以通过指令
ps ax --sort=-%mem -o pid
查看系统中所有进程pid并按内存使用量由高到低排列
在这里插入图片描述
然后通过指令
head -n 6 | tail -n 5 或sed -n 2,6p
抓取前五行
在这里插入图片描述

在这里插入图片描述
##stat中显示的信息
可通过ps -o stat 查看
在这里插入图片描述
#此处为了便于stat中所有显示的信息的展示进程firefox与gedit的优先级已经被手动修改

S进程状态
I内存中有锁存空间
N优先级低
<优先级高
+前台运行
s顶级进程

3.进程优先级

(1)进程的优先级范围
-20~19 优先级数字越小进程优先级越高
(2)优先级查看
ps -o nice #常和comm,pid一同使用在这里插入图片描述
(3)指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & #指定vim进程启动时优先级为-5
在这里插入图片描述
在这里插入图片描述
注意:"&"表示进程开启后打入后台,如果不加“&“符号 命令行就会被占用
(4)改变进程优先级
renice -n 优先级数字 +进程pid #指定已经启动进程优先级
renice -n 10 3529 #更改进程3529的优先级为10
在这里插入图片描述
在这里插入图片描述

4.环境中进程的前后台调用

  • jobs #查看被打入环境后台的进程
    在这里插入图片描述
    注意:
    “+“ 默认级
    “ -“ 次默认级
    无符号的没有优先级

  • ctrl+z ##将占用终端的进程暂停并打入后台
    在这里插入图片描述
    此时我们再打开gedit窗口
    在这里插入图片描述
    发现gedit已经被暂停,无法对其进行操作

  • fg ##把后台进程调回前台,直接执行会默认执行带“+“的程序
    在这里插入图片描述
    在这里插入图片描述
    当想指定后台某进程时可以用
    fg jobnumber 将指定进程调出
    fg 1 #将后台进程序号为1的进程调回前台
    在这里插入图片描述
    在这里插入图片描述
    注意:jobnumber时通过jobs命令查到的后台的进程的序号(不是pid)

  • bg ##把后台暂停的进程运行,直接执行会默认执行带“+“的程序
    在这里插入图片描述
    在这里插入图片描述
    bg jobnumber #将指定进程运行
    bg 3 #将后台进程序号为3的进程运行
    在这里插入图片描述
    在这里插入图片描述
    command & ##让命令直接在后台运行
    在这里插入图片描述

5.进程信号

(1)常用信号等级 (信号等级共有30个,以下只列出常用的,可通过man 7 signal 查看信号详细信息)

1进程重新加载配置
2删除进程在内存中的数据,对shell相当于ctrl+c 对系统中有锁存空间的(gedit)相当于关闭该进程
3删除鼠标在内存中的数据 快捷键:ctrl+\ 应用:看视频时全屏鼠标消失
9强行结束单个进程(不能被阻塞)
15正常关闭进程 (可能会被阻塞)
18运行暂停的进程
19暂停某个进程 (不能被阻塞)
20把进程暂停并打入后台(可以被阻塞)
  • kill -信号 进程pid
    在这里插入图片描述
  • killall -信号 进程名字
    在这里插入图片描述
  • pkill -u student(username) -信号 #对某用户所有进程
    在这里插入图片描述

6.进程的动态监控

top
在这里插入图片描述

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

7.控制服务

(1)什么是服务
定义:系统中运行的对于系统本身没有意义,但是对客户主机有重大意义的程序叫做服务性软件简称服务,服务是一类进程。
(2)用什么控制服务
系统初始化进程可以对服务进行相应的控制

(3)当前系统初始化进程是什么
systemd ##系统初始化进程
pstree ##显示系统中的进程树
(4)进程控制命令
ssh------->sshd
client server

systemctl#服务控制
systemctl status sshd#查看服务
systemctl start sshd#开启服务
systemctl stop sshd#关闭服务
systemctl restart sshd#重启服务
systemctl reload sshd#重现加载服务配置
systemctl enable sshd#设定服务开机启动
systemctl disable sshd#设定服务开机不启动
systemctl list-units#列出已经开启服务当前状态
systemctl list-unit-files#列出所有服务开机启动的状态disable(开机不启动的),enable(开机启动),static(静态的),maskd(冻结的)
systemctl mask sshd#冻结sshd服务
systemctl unmask sshd#解锁sshd服务
systemctl list-dependencies#列出服务器的倚赖(倚赖:需要另一个服务是开启的)
systemctl set-default multi-user.target#设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target#设定系统启动级别为图形模式
  • systemctl status sshd #查看服务
    在这里插入图片描述
  • systemctl stop sshd #关闭服务
    在这里插入图片描述
  • systemctl start sshd #开启服务
    在这里插入图片描述
  • systemctl disable sshd #设定服务开机不启动
    在这里插入图片描述
    在这里插入图片描述
  • systemctl enable sshd #设定服务开机启动
    在这里插入图片描述
    在这里插入图片描述
  • systemctl list-units #列出已经开启服务当前状态
    在这里插入图片描述
  • systemctl list-unit-files #所有服务开机启动的状态 disable(开机不自启),enable(开机自启),static(静态的),maskd(冻结的)
    在这里插入图片描述
  • systemctl mask sshd #冻结sshd服务
    在这里插入图片描述
    在这里插入图片描述
  • systemctl unmask sshd #解锁sshd服务
    在这里插入图片描述
    在这里插入图片描述
  • systemctl list-dependencies #列出服务器的倚赖
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值