#######单元6.系统进程及服务控制#####
####1.什么是进程
进程:运行的程序
####2.查看进程
1)图形方式查看
gnome(the gun network object model enviroment) ##一种操作系统,运维常用
还有一个开发使用的图形界面d
gnome-system-monitor
process name ##进程名
user ##用户名
%cpu ##cpu占用率
Nice ##优先级 从-20到19
mem ##内存占用
pid ##进程号
priority ##优先级
2)进程查看命令
ps -A ##所有进程
ps -a ##在当前环境中运行的进程,不包含环境信息
ps -u ##显示进程用户信息
ps a ##在当前环境中运行的进程,包含环境信息
ps x ##列出系统中所有包含tty设备的进程 tty字符设备
ps f ##显示父子进程关系
ps e ##显示进程的详细信息
*)pstree 进程树
systemd 所有系统启动的第一项
## ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
## 显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
stat ##进程状态
## 进程排序
ps ax --sort=
+%cpu|-%cpu ##+升序 -降序
+%mem|-%mem
*)如何输出cpu使用量前五的进程
1)ps ax --sort=-%cpu -o pid,comm,%cpu
##从大到小输出cpu使用量的pid,comm,cpu
2)ps ax --sort=-%cpu -o pid,comm,%cpu|head -n 5
##cpu使用量的前5
3)ps ax --sort=-%cpu -o pid,comm,%cpu|head -n 5|gred -v %CPU
##去掉含%CPU的行
*)gred 命令
gred 关键词 ##高亮显示关键字
gred -v 关键词 ##去掉关键字所在的行
####stat中显示的信息 ##
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
####3.进程优先级####
1.进程的优先级范围
-20~19
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
4.改变进程优先级
reince -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5
####4.环境中进程的前后台调用####
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
####5.进程信号####
1.常用信号等级
1 ##进程重新加载配置,不改变进程,重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程 (可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程 (不能被阻塞)
20 ##把进程打入后台 (可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
######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 ##服务控制命令
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 ##设定系统启动级别为图形模式
########单元7.sshd服务######
##1.网络的配置
1.nm-connection-editor
2.删除原来的网络,创建ethernet(以太网)
3.设置网卡
4.设置ip地址和子网掩码
##2.修改主机名
hostname ##查看主机名
hostnamectl set-hostname client85 ##修改主机名为client85
##3.sshd简介##
sshd=secure shell
可以通过网络在主机中开机shell的服务
客户端软件
sshd
链接方式:
ssh username@ip ##文本模式的链接
ssh -X username@ip ##可以在链接成功后开机图形
logout ##退出链接
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hostos文件所以不需要再次输入yes
远程复制
scp file root@ip:dir ##上传
目标主机和ip:文件放置的位置
scp root@ip:file dir ##下载
目标的主机和ip:目标文件(写绝对路径) 放置本机的位置
###4.sshd的key认证####
1.生成认证KEY
ssh-keygen
2.查看钥匙
authorized_keys id_rsa id_rsa.pub known_hosts
认证密钥 私钥 公钥
3.发送公钥
sh-copy-id -i id_rsa.pub [email protected]
4.分发钥匙
scp id_rsa [email protected]:/root/.ssh
5.测试
在客户主机中(172.25.254.11)
ssh [email protected] ##链接时发现直接登陆不需要root登陆系统的密码认证
##双方任一一方删除,公钥,或者私钥,则破坏认证
###5.sshd的安全设定###
命令 vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
48 PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
52 Allowusers student westos ##设定用户白名单,白名单出现默认不要名单中的用户不能使用sshd
53 Denyusers westos ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
修改完后必须重启sshd
systemctl reload sshd
###4.添加sshd登陆登陆信息###
vim /etc/motd ##文件内容就是登陆后显示的信息
###5.用户的登陆审计###
1.w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示IP
/var/run/utmp
2.last ##查看使用过并退出的系统
/var/log/wtmp
3.lastb ##试图登陆但没成功的用户
/var/log/btmp