进程管理
##1.什么是进程##
进程就是系统未完成并且正在进行的工作
##2.查看进程##
1)图形方式查看
gnome-system-monitor
2)进程查看命令
ps 默认显示与shell有关的进程
ps -A ##所有进程
ps -a ##在当前环境中运行的程序(不包含环境信息)
ps -d ##除过当前环*的所有进程
ps -u ##显示进程用户信息
ps a ##在当前环境中运行的进程
ps x ##列出系统中所有运行包含tty输出设备
ps f ##显示进程的父子关系
ps e ##显示进程的详细信息(系统资源的调用)
##ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
##显示进程指定信息
ps -o xxxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
##进程排序
ps ax --sort=
+%cpu|-%cpu 正序|倒序
+%mem|-%mem 正序|倒序
##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.改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 ##改变1806进程的优先级为-5
ps a -o pid,nice,comm
PID NI COMMAND
595 0 Xorg
1291 0 agetty
2832 0 bash
30706 -5 vim
30719 0 ps
###4.环境中进程的前后台调用###
jobs ##查看被打入环境后台的进程 *[1][2]后面的+号最优先,-号次优先
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
###5.进程信号###
1.常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据 *ctrl+\
9 ##强行结束单个进程(不能被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程(不能被阻塞)
20 ##把进程打入后台(可以被阻塞)
man 7 signal ##查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字 ##对进程名字为xx的所有进程执行-信号
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 ##查看服务状态,inacticve(不可用),active(可用)
systemctl start sshd ##开启服务
systemctl stop sshd ##关闭服务
systemctl restart sshd ##重启服务
systemctl reload sshd ##重新加载服务配置(相当于信号1)
systemctl enable sshd ##设置服务开机自动启动
systemctl disable sshd ##设置服务开机不启动
systemctl list-units ##列出系统所有已开启服务当前状态
systemctl list-unit-files ##列出所有服务开机启动的状态,static依赖disable未启动 enable启动
systemctl list-dependencies ##列出所有服务的依赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)输入startx 就有图形了
systemctl set-default graphical.target ##设定系统启动级别为图形模式
###1.sshd简介###
sshd= secure shell
可以通过网络在主机中开启shell的服务
客户端软件
sshd
连接方式:
ssh [email protected] ##文本模式的连接
ssh -X [email protected] ##可以在连接成功后开启图形
注意:
第一次连接陌生主机时要建立认证文件
所以会询问是否建立,需要输入yes
再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes
远程复制:
scp file [email protected]:dir ##上传
scp -r test/ [email protected]:/root/Desktop/ ##远程上传文件夹
scp [email protected]:file dir ##下载
scp -r [email protected]:/root/Desktop/test/ . ##远程复制文件夹
###2.sshd的key认证###
1.生成认证KEY
[email protected] ~]# ssh-****** ##生成**的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ##指定保存加密字符的文件(使用默认)
Enter passphrase (empty for no passphrase): ##设定密码(使用空密码)
Enter same passphrase again: ##确认密码
Your identification has been saved in /root/.ssh/id_rsa. ##私钥(钥匙)
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥(锁)
The key fingerprint is:
8b:0b:a3:f2:2e:f0:84:2b:fc:d2:33:31:a5:db:75:ce [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . |
| . o S |
|o .+ o o |
|o+. B o = |
|=o.* + . E |
|.=*.o . |
+-----------------+
2.加密服务
[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
The authenticity of host '172.25.254.215 (172.25.254.215)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
[[email protected] ~]# ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
^
此文件出现表示加密完成
3.分发钥匙
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
[[email protected] ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
The authenticity of host '172.25.254.115 (172.25.254.115)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.115' (ECDSA) to the list of known hosts.
[email protected]'s password:
id_rsa 100% 1675 1.6KB/s 00:00
4.测试
在客户主机中(172.25.254.115)
ssh [email protected] ##连接时发现直接登陆不需要root登录系统密码认证
[[email protected] ~]# ssh [email protected]
The authenticity of host '172.25.254.215 (172.25.254.215)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.25.254.215' (ECDSA) to the list of known hosts.
Last login: Mon Jul 23 04:18:32 2018 from 172.25.254.115
###3.sshd的安全设定###
vim /etc/ssh/sshd_config
systemctl restart sshd.service
78 PasswordAuthentication yes|no ##是否允许用户通过登录系统的密码做sshd的认证
48 PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
52 AllowUsers student westos ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
53 DenyUsers westos ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用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
/var/log/messages