1.什么是进程
进程是程序的基本执行实体,即cpu未完成的工作,包括正在运行的文件、在后台休眠的文件。
2.查看进程
1)图形方式查看
gnome-system-monitor
2)进程查看命令
ps -A ##所有进程
-a ##在当前环境中运行的进程,不包含环境信息
-u ##显示进程用户信息
a ##在当前环境中运行的进程
x ##列出系统中所有运行包含tty设备的进程
f #显示父子进程关系
e ##显示进程的详细信息(系统的资源调用)
### ps常用组合
ps aux ##显示系统中所有进程并显示进程用户
ps ef ##显示进程详细信息并显示进程父子关系
ps ax ##显示当前系统中的所有进程
#####显示进程指定信息
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 ax --sort=+%cpu |-%cpu
ps ax --sort=+%mem |-%mem
eg:
ps ax --sort=-%cpu -o %cpu |head -n 6| grep -v %CPU
ps ax --sort=-%cpu -o %cpu |grep -v %CPU| head -n 5
##### stat中显示的信息
S ##进程状态
l ##内存中有锁定空间
N ##优先级低
< ##优先级高
+ ##前台运行
s ##顶级进程
3.进程优先级
a 进程优先级范围:-20~19,数字越小表示优先级越高,反之数字越小代表进程的优先级越高。
b 优先级查看
ps ax -o pid,nice,comm
c 指定以某个优先级开启进程
nice -n 优先级数字 进程名称
eg:
nice -n -5 vim & ##开启vim并指定进程优先级为-5
d 改变进程优先级
renice -n 优先级数字 进程pid
eg:
renice -n -5 1234 ##改变1234进程的优先级为-5
4.环境中进程的前后台调用
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobnum ##把后台进程调回前台
*****fg命令不加参数时,默认先调回带”+“的进程,然后再调回带”-“的进程,最后轮到其他的进程
bg jobnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
5.进程信号
常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强制结束单个进程(不可被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某个进程(不能被阻塞)
20 ##把进程打入后台(可以被阻塞)
kill -信号 进程id
killall -信号 进程名
pkill -u student -信号
eg:
pkill -u student -9 ##强行杀死student用户下的所有进程
6.进程的动态监控
top l ##显示cpu每个核的负载
top s ##调整刷新频率
top c ##cpu负载排序
top m ##内存使用量排序
top h ##查看帮助
top u ##查看指定用户进程
top k ##对指定进程发起信号
top q ##退出
输入命令top,回车,结果如下图所示。
修改进程刷新时间间隔:
输入命令top,再输入s,按提示将刷新时间间隔从3秒改为设定的时间,这里设为1,然后回车,修改成功。
查看某一用户发起的所有进程:
输入命令top,再输入u,按提示输入想要查看的用户名,回车,即可查看该用户发起的所有进程。
控制服务
1.什么是服务
服务开启对本机无意义,对客户有意义。
2.用什么控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
linux中用pstree命令以树状图的形式显示进程间的关系
4.进程控制命令
ssh -----> sshd
client ------> server
systemctl ##服务控制命令
systemctl ststus sshd ##查看服务状态,active(可用),inactive(不可用)
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 ##列出所有服务的开机启动状态(enable,disable,static)
systemctl list-dependencies ##列出服务的依赖性
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形模式)
systemctl set-default graphical.target ##设定系统启动级别为图形模式
sshd服务
1.sshd简介
连接方式:
sshd username@ip ##文本模式连接
sshd -X username@ip ##图形模式连接
注:第一次连接陌生主机需要建立认证文件,输入yes,再次链接时,因为已经生成了~/.ssh/know_hosts文件,所以不需要再次输入
远程复制:
scp file username@ip:dir ##上传,dir为绝对路径
scp username@ip:dir dir ##下载
注意:在对文件进行上传时,上传到的地址需是绝对路径;
在对文件进行下载的操作中,源文件所在的地址需为绝对路径。
2.sshd的key认证
1)生成认证key
在server机上输入ssh-keygen命令-->回车,提示保存钥匙的文件选择默认文件,直接回车-->提示输入密码,直接回车-->提示验证密码,直接回车。
2)加密服务(本机加密)
在server机上执行 ssh-copy-id -i id_rsa.pub root@172.25.254.100 命令,注意是给本机加密,输入的ip地址也是server机的。
3)分发钥匙
在server机上执行 scp id_rsa root@172.25.254.200:/root/.ssh/ 命令,该命令主要是完成将钥匙文件id_rsa传给client机,故其中的ip地址也是client机的。
4)测试
在客户主机中执行ssh连接到server主机时不需要密码
3.sshd的安全设定
vim /etc/ssh/sshd_config
跳转到78行:PasswordAuthentication yes ##是否允许用户通过登陆系统的密码作sshd认证
跳转到48行:PermitRootLogin no ##是否允许root用户通过sshd服务的认证
Allowusers student ##设定用户白名单,白名单中没有的用户默认不能使用sshd
Denyusers westos ##设定用户黑名单,黑名单中没有的用户默认可以使用sshd
4.添加sshd的登陆信息
vim /etc/motd ##文件的内容就是登陆后显示的信息
示例:在server机上对/ect/motd文件进行编辑内容并保存,在client机上登陆时将会显示编辑的内容。
5.用户的登陆审计
1.w
w -f ##查看使用来源
w -i ##显示ip
2.last ##查看使用过并退出的用户信息
3.lastb ##试图登陆但没有成功的用户信息
文件在系统中的传输
1.scp
scp file username@ip:/dir
scp username@ip:file dir
2.rsync ##远程同步,速度快,默认会忽略文件属性,链接文件,设备文件
rsync -r ##同步目录
rsync -p ##同步权限
rsync -o ##同步文件所有人
rsync -g ##同步文件所有组
rsync -l ##同步链接文件
rsync -t ##同步文件时间戳
rsync -D ##同步设备文件