Linux下系统进程及服务的控制
1.什么是进程
进程就是系统未完成并且正在进行的工作。
2.查看进程
(1)图形方式查看
gnome-system-monitor
(2)进程查看的命令
ps是主要命令,具体使用方法如下:
ps -A 查看所有进程
ps -a 查看在环境中的所有进程,但不包含环境信息
ps -u 显示进程的用户信息
ps a 显示当前环境中运行的进程,并包含环境信息
ps x 列出系统中所有运行包含tty输出设备
ps f 显示进程的父子关系
ps e 显示进程的详细信息(系统资源的调用)
ps的常用组合:
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程的父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树
显示进程的指定信息:
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
(3)stat中显示的信息
S 进程状态
l 内存中有锁定空间
N 优先级低
< 优先级高
+ 前台运行
s 顶级进程
3.进程优先级
1.进程的优先级范围:-20~19
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -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 stutent -信号 对某个用户的相关进程进行操作
如:
强行关闭31550的进程
强行关闭所有的vim进程
强行关闭所有的student进程
6.进程的动态监控
(1)top
1 显示cpu每个核的负载
s 调整刷新频率
c CPU负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号(输入顺序:k-->进程id-->信号)
q 退出
在进入以下界面后即可进行操作:
7.控制服务
(1)用什么控制服务
系统初始化进程可以对服务进行相应的控制
(2)当前系统初始化进程
systemd 系统初始化进程
pstree 显示系统中的进程树
(3)进程的控制命令
client(用户端) | server(服务器端) |
---|---|
ssh | sshd |
具体命令如下:
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 设定系统启动级别为图形模式