进程及服务的控制
1.什么是进程
系统中正在运行的程序
2.图形的进程查看方式
gnome-system-monitor
3.查看进程的命令
ps a 当前环境相关进程
-A|-e 系统所有进程
-a 在当前终端中运行的进程但不包含当前环境进程信息
x 查看含有输出终端的进程
f 查看进程的从属关系
u 进程的所有人
ps ax -o comm,nice,%cpu,%mem,pid,user,group,stat
ps ax --sort=%cpu 顺序查询cpu占有率
ps ax --sort=-%cpu 倒序查询cpu占有率
ps ax --sort=-%mem
ps ax --sort=-%mem
例题:查询占用cpu占有率最高的前五个pid(三种方式)
4.进程的优先级
进程状态(stat)
S 进程状态正在进行
s 此进程为顶级ps进程
T 进程是暂停的
< 进程的优先级高
N 进程优先记低
l 进程在内存中有锁定空间
R 正在运行
ps -o nice,comm,pid 显示进程的优先级,命令,pid
nice -n -1 命令 & 指定优先级开启进程
renice -n -5 pid 修改进程的优先级
ctrl+z把占用终端的进程打入后台停止
jobs查看被打入后台所有程序
bg jobnum 指定进程get在后台运行
fg jobnum 将指定进程调回前台
ctrl +c 将占用当前终端的进程结束掉
6.信号
1 进程不停止情况下重新加栽配置
2 清除进程在内存中的数据
3 清除鼠标在内存中的数据
9 强行结束进程,不能被阻塞
15 正常关闭进程
18 运行停止的进程
19 暂停进程,不能被阻塞
20 暂停进程
以下两条命令是给内核发送信号,由内核结束进程
kill 信号 pid
kile all 信号 进程名称
7.服务的控管
systemd 系统初始化程序
提供命令systemctl start/stop/status/restart/enable(开机自启)/disable(开机不自动启动)/mask(冻结)/unmask sshd.service
例如:设置sshd.service为开机不自启,并查看该服务状态
设置冻结ssh服务并查看状态为masked
解冻ssh服务,可查看状态为loaded
systemctl list-units 列出所有正在运行的服务名称
systemctl list-unit-files 列出服务开机状态
systemctl list-dependencies 列出服务的依赖关系
systemctl set-default graphical.target/multi-user.target 开机是图形界面/非图形化界面
见截图内容:
设置非图形化界面,重启虚拟机
开机后为非图形化界面,设置为图形化界面重新开机后为图形化界面
注:static状态无法直接改变,他依赖于其他服务是否运行。
masked状态是服务被冻结
init 5 服务初始化。
last:登陆过本系统的用户
lastb:登陆过但没有成功的用户
下面将详细解析:
打开ip为172.25.254.123的虚拟机ssh服务
使用真机(ip:172.25.254.150)root用户连接虚拟机,输入虚拟机root用户密码,登陆成功
可显示成功登陆虚拟机的用户是真机root用户以及登陆时间等信息
虚拟机关闭ssh服务
真机连接虚拟机失败
虚拟机显示出尝试登陆但登陆失败的用户为root,以及尝试登陆时间等信息
以下指令:
ssh 本机用户@希望登陆的主机的ip地址 -X
(在希望连接的主机没有关闭或冻结ssh服务时,可以登陆该主机且执行操作,若无-X,则没有操作权限)