linux系统中的进程管理

什么是进程

程序放置在存储媒体中(硬盘、光盘、软盘、磁带等),以实体文件的形态存在

进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中操作系统会给内存内的单元一个识别码( PID),也就是说,进程是一个正在运行当中的程序。

进程运行的状态

R( running)表示此进程正在使用当中
S(sleep)睡眠状态,将一个进程最小化时,相当于该进程被优化了,可以直接被唤醒
Z(zombine )僵尸状态 ,该进程占用系统资源并不为系统服务,属于异常状态
T(stop)停止状态,可能是被控制或者出错了,不能直接唤醒,但可以用命令强制唤醒
D不可被唤醒的睡眠状态,通常是进程可能在等待I/O的情况下

如何查看系统的进程

(1) 图形方式查看进程
直接在shell里面输入命令:gnome-system-monitor 回车即可看到进程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)命令方式查看进程

在shell里面输入相应的命令即可查看相应的进程信息
使用ps命令 ,可以用 man ps来查看它的使用方法

在这里插入图片描述
ps ##ps自己所在的shell里面运行的进程
在这里插入图片描述
ps a ##在shell当中运行的所有进程,包括shell的环境bash
在这里插入图片描述
ps -a ### 在shell当中运行的所有进程,不包括shell环境本身信息bash
在这里插入图片描述
ps -A ###系统当中所有的进程,与shell无关
在这里插入图片描述
ps -d ###与A类似 ,没有允许环境(shell)
在这里插入图片描述
在这里插入图片描述
ps e ##显示进程的详细信息(系统资源的调用)
在这里插入图片描述
ps x ###显示所有输出设备终端的进程
在这里插入图片描述
ps -u ###显示用户信息 ,id等等 ,终端 ,各种时间
在这里插入图片描述
ps f ##显示进程的父子关系
在这里插入图片描述
(3) 用来查看进程的常用的ps组合

ps aux ##显示系统当中的所有进程并显示进程用户

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

ps ef ##显示进程的详细信息以及进程的父子关系

在这里插入图片描述

ps ax ##显示当前系统当中的所有进程

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

pstree ##显示当前系统的进程树

在这里插入图片描述
(4)显示进程的指定信息

命令格式: ps -o xxx 显示进程的指定信息

xxx可以为以下内容:

comm进程名称
user进程所有人
group进程所有组
%cpu进程cpu使用率
%mem进程内存使用率
pid进程的id
nice进程优先级

###ps -o comm(名称)
在这里插入图片描述
###ps -o user(所有人)
在这里插入图片描述
###ps -o group(所有组)
在这里插入图片描述
###ps -o %cpu
在这里插入图片描述
###ps -o %mem (内存)
在这里插入图片描述
###ps -o pid
在这里插入图片描述
###ps -o nice(优先级)
在这里插入图片描述
###tty为所处输出设备环境,stat为所处状态
在这里插入图片描述
(5)进程排序

命令格式为:ps ax --sort=要显示的东西
ps ax --sort=%cpu   按照cpu使用率升序排序

在这里插入图片描述

ps ax --sort=-%cpu   按照cpu使用率降序排序

在这里插入图片描述
(6)进程的stat中显示的信息含义

S 	进程状态
s 	没有父进程,顶级进程
l 	在内存当中有锁定空间(进程结束之前不会被系统回收)
+ 	正在前台运行的进程
N 	表示优先级低
< 	表示优先级高

在这里插入图片描述

进程的优先级

1)进程的优先级范围: -20192)优先级的查看:ps ax -o pid,nice,comm

在这里插入图片描述

怎样调整进程的优先级

(1)图形调整进程的优先级,直接在进程的图形界面里面调整数字
大数字 : 表示优先级低
小数字(可以是负数): 表示优先级高
在这里插入图片描述
(2) 命令设定进程优先级,以下都是直接在shell里面输入命令即可

指定某个优先级开启进程(先指定,后开启)
nice -n 优先级数字 进程名称
比如:nice -n -5 vim 开启vim并且指定该程序的优先级为-5

在这里插入图片描述

改变进程的优先级(先开启,后改变)
renice -n 优先级数字 进程pid
renice -n -5 1223 改变1223进程的优先级为-5

在这里插入图片描述

环境中进程的前后台调用

(1)前后台调用的常用命令:

jobs 	       查看被打入环境后台的进程
ctrl+z    	   把占用终端的进程打入后台
fg+jobsnum 	   把后台的进程调回前台
bg+jobsnum 	   把后台暂停的进程运行起来
comm+& 	      让命令直接运行在后台

备注:
ctrl+z将该进程直接打入后台(挂在后台不再运行)
如果使用gedit &打入后台它在后台还是运行的
(2)具体步骤如下:
步骤一:先用在desktop主机中输入gedit 或者 firefox, 此进程会占用终端,使终端不能使用
在这里插入图片描述
步骤二:直接在shell脚本输入 ctrl+z 打入后台
在这里插入图片描述
步骤三:输入jobs查看被打入后台的进程
在这里插入图片描述
步骤四: fg 数字 ,将被打入后台的进程调回前台(终端)
在这里插入图片描述
步骤五:bg 数字 ,将被打入后台的暂停的进程运行起来
在这里插入图片描述
步骤六:使用 comm(名字) &, 让命令直接在后台运行
在这里插入图片描述

常用进程信号

(1)常用信号等级:
每个信号代表的意思如下表所示:

1进程重新加载配置,进程不会关闭(意义重大)
2删除进程在内存中的数据
3删除鼠标在内存中的数据
9强行结束单个进程(不能被阻塞)
15正常关闭进程(可能会被阻塞)
18运行暂停的进程
19暂停某个进程(不能被阻塞)
20把进程打入后台(可以被阻塞)
man 7 signal查看信号详细信息
kill -信号 进程pid
killall -信号  进程名字
pkill -u student -信号

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

进程的动态监控

(1)动态监控使用top命令
top 后面的参数如下所示:

1    	显示cpu每个核的负载
s   	调整刷新频率
c   	cpu负载排序
m   	内存使用量排序
h   	查看帮助
u   	查看指定用户进程
k   	对指定信号发起进程
q   	退出

##按下 s 调整刷新频率
在这里插入图片描述
##按下 c cpu负载排序
在这里插入图片描述
##按下 m 内存使用量排序
在这里插入图片描述
##按下 h 查看帮助
在这里插入图片描述
#按下 u 查看指定用户进程
在这里插入图片描述
##按下 k 对指定信号发起进程
在这里插入图片描述

控制服务

1.搭建实验环境(真机和虚拟机进行通信)
(1)查看真机ip,在虚拟机desktop里面进行网络配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2) 真机和虚拟机之间相互ping进行通信测试
在这里插入图片描述
在这里插入图片描述
(3) 在ping通的基础上使用真机远程连接控制虚拟机创建文件
在这里插入图片描述
在这里插入图片描述
2.用什么控制服务
采用系统初始化进程对服务进行相应的控制
3.当前系统初始化进程是什么?

systemd 系统初始化进程
pstree 显示系统的进程树

4.进程控制命令
###systemctl 服务控制命令(服务相当于进程)
在这里插入图片描述

systemctl status sshd    查看服务状态,inactive(不可用),active(可用)
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
systemctl list-dependencies   列出服务的依赖性(列出进程树,也就是父子关系,可以看出依赖性)
systemctl set-default multi-user.target  设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target    设定系统启动级别为图形模式

###在客户端输入 systemctl status sshd 查看服务状态,inactive(不可用),active(可用)
在这里插入图片描述
###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
在这里插入图片描述
###systemctl list-dependencies 列出服务的依赖性(列出进程树,也就是父子关系,可以看出依赖性)
在这里插入图片描述
###systemctl set-default multi-user.target 设定系统启动级别为多用户模式(无图形)
在这里插入图片描述
###systemctl set-default graphical.target 设定系统启动级别为图形模式
在这里插入图片描述

备注:
sshd是举的一个例子,也可以操作其他服务
running(未退出), exited(退出)  ,二者均为运行状态,只是退出和没退出的区别
所有的服务状态如下: static disable enable masked(一共四种)
将mask(封锁)改为unmask(解锁) 命令为 :systemctl unmask   服务名(进程名) ,即可解锁
然后该服务的状态变为static disable enable这三个当中的任意一个

5.添加sshd登陆信息
vim /etc/motd ###文件内容就是登陆后显示的信息
在这里插入图片描述
6.用户的登陆审计

1)w    ##查看正在使用当前系统的用户
      -f   ##查看使用来源
      -i   ##显示ip

在这里插入图片描述

2) last   ##查看使用过并退出的用户信息

在这里插入图片描述

3) lastb ##试图登陆但没有成功的用户

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值