1.什么是进程
程序放置在存储媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的形态存在
程序被出发后,执行者的权限与属性,程序的程序玛与所需数据都会被载入内存中,操作系统并给与这个内存内的单元一个识别码(PID)。可以说,进程就是一个正在运行中的程序。
进程的状态
R(running):该程序正在运行中;
S(Sleep):该进程在睡眠中(idle),该状态可以唤醒(signal)。
D 不可被唤醒的睡眠状态,通常进程可能在等该I/O的情况
T 停滞状态(Stop),可能是在工作控制或除错的状态。
Z(僵尸状态),程序以终止,但无法移至内存外。
2.查看进程
1)图形方式查看
gnome-system-monitor
运行该命令会打开程序控制界面
2)进程查看命令
ps -a 显示环境中的所有进程,不包含环境信息
ps a 显示环境中运行的进程,包含环境信息
ps -A 显示所有进程
ps e
ps -e 显示进程的详细信息(系统资源的调用,)
ps x 列出系统中所有运行包含tty输出设备
ps -u 显示用户进程信息
ps f 显示进程的父子关系
只显示环境中(shell)的进程,不包含环境信息
显示环境中运行的进程,包含环境信息
ps -A显示所有进程
ps -e显示进程的详细信息
ps x 列出系统中所有运行包含tty输出设备
ps -u 显示用户进程信息
ps f 显示进程的父子关系
ps常用的组合
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树
ps aux 显示系统中所有进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中的所有进程
pstree 显示当前系统的进程树系统初始换
systemd为初始化程序,无法被杀死
显示进程指定信息
ps -o xxx 显示进程的指定信息
comm 显示进程名称
user 显示进程所有人
group 显示进程所有组
%cpu 显示cpu使用率
%mem 显示进程内存使用率
pid 显示进程id
nice 显示进程优先级
ps -o comm 显示进程名称
ps -o user 显示进程所有人
ps -o group 显示进程所有组
ps -o %cpu 显示cpu使用率
ps -o %cpu 显示pid
ps -o %cpu 显示进程优先级
进程排序
ps ax --sort=+%cpu|-%cpu
按大小排序cpu使用率|倒序排列显示cpu使用率
ps ax --sort=+%mem|-%mem
按大小排序显示内存使用率|倒叙
ps ax --sort=+%cpu|-%cpu 按大小排序cpu使用率
ps ax --sort=-%cpu倒序排列显示cpu使用率
ps ax --sort=+%memps ax --sort=+%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
监视进程的优先级
开启vim并指定优先级为-10
可以看到新打开的vim优先级为-10
4)改变进程优先级
renice -n 优先级数字 进程pid
renice -n -5 1806 改变1806进程的优先级为-5
还原vim打开的优先级为-5
修改vim的优先级为-15
将vim的优先级修改为原来的-5
4.环境中进程的前后台调用
jobs 查看被打入环境后台的进程
ctrl+z 把占用终端的进程打入后台
fg jobsnum 把后台进程调回前台
bg jobsnum 把后台暂停的进程运行
comm & 让命令直接在后台运行
某些命令不能放入后台运行,例如:vim(必须要有图形界面)
但在这些进程在后台运行时,对其的操作会在该进程调回前台时出现(先对gedit的文档进行编辑,然后将其调入后台运行,这是我们通过输入字母,发现其内容不会改变(因为该进程以停止运行),但在我们重新调用该进程时,发现我们在其文件内容会加入在后台时编辑时的输入)
查看被打入后台的进程
将cat调入前台运行然后退出查看后台中的程序
先将gedit移回前台后,然后用ctrlz移回后台
使用bg命令使后台停止的进程运行(gedit由stopped转变为running)
5.进程信号
kill
1 进程重新加载配置
2 删除进程中存在的数据
3 删除鼠标中存在的数据
9 强行结束进程(不可被阻塞)
15 正常关闭进程(可能不会关闭,被阻塞)
18 运行暂停的进程
19 暂停某个进程(不会被阻塞)
20 暂停某个进程(可能会被阻塞)
使用格式
kill -signal pid
killall -signal 进程名
pkill -u user -signal
-9强行結束進程號為2271的進程
-15結束watch命令被阻塞
殺死所有同名進程vim
殺死名爲cn用戶的進进程
6.进程的动态控制
1.top
1. 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程
k 对指定进程发起信号
q 退出
top命令的动态显示
s,调整书信频率为0.1s,默认为3s一次
cpu负载排序
内存使用量排序
u,查看学生的进程
删除该学生的进程
7.控制服务
1.什么是服务
linux对系统的进程进行控制与作用,对其进行排序处理等功能
2.什么是控制服务
系统初始化进程可以对服务进行相应的控制
3.当前系统初始化进程是什么
systemd 系统初始化进程
psterr 显示系统中的进程树
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 列出所有服务开机启动的状态
systemctl list-dependencies 列出服务的依赖
systemctl set-default multi-user.target 设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target 设定系统启动级别为图形模式
查看sshd的状态,发现其为活动,然后关闭,发现其为非活动
查看sshd的状态,发现其为非活动,然后打开,发现其为活动
设置sshd开机不启动,然后察看其状态为非活动,随后重启
重启后,sshd为非活跃状态,开启后为活跃状态
设定sshd开机子其,并设置开机多用户模式启动然后重启电脑
列出已经开启服务当前状态
列出所有服务开机启动的状态
列出服务的依赖