程序(program)
放置在储存媒体中(如硬盘,光盘,软盘,磁带等),为实体文件的形态存在
进程:
程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行中的程序。
R(Running):该程序正在运行中;
S(Sleep):该程序正在睡眠状态(idle),但可以被唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待1/0的情况。
T;停止状态(STOP),可能是在工作控制(背景暂停)或除错(traced)状态;
Z:(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外
(1)图形方式查看
gnome-sysem-monitor ##打开任务管理器
ps -a | shell里运行的程序 ,不包含环境信息(没有环境本身的进程) |
---|---|
ps a | 当前环境中运行的进程,包含环境信息 |
ps -A | (-e)所有的进程 包含运行环境 |
ps -d | 显示 (不常用) |
ps x | 列出系统中所有运行包含tty输出设备 |
ps e | 所用到的系统资源 |
ps ae | 显示系统的拓展信息 |
ps -u | 显示进程的用户 |
ps f | 查看进程父子关系(父进程关闭子进程关闭)(孤儿程序受系统的初始化程序控制) |
ps常用组合
ps af | 进程的存储关系(父子信息) |
---|---|
ps aux | 显示系统中的所有进程并且显示进程用户 |
ps ef | 显示进程详细信息并显示进程父子关系 |
ps ax | 显示当前系统中的所有进程 |
pstree | 显示当前系统的进程树 |
#####kill -9 结束进程
系统初始化进程(不会被关闭 poweroff关机可以关闭)控制一些孤儿进程(父级进程关闭时,一些子级进程不会被关闭)
显示进程指定的信息
ps -o xxx ##显示进程的指定信息
ps -o comm ##进程名称
ps -o user ##进程所有人
ps -o %cpu ##进程所有组
ps -o %mem ##进程的cpu使用率
ps -o pid ##进程的id
ps -o nice ##进程的优先级
ps ax --sort=+%cpu (升序,+可以省略) / -%cpu(降序) ##按cpu使用率排序
ps ax --sort=+%mem / -%mem(降序) ##按内存使用率排序
例子: 列出系统cpu占用率前五的pid
ps ax -o pid --sort=-%men| head -n6 | tail -n5
s | 进程状态 |
---|---|
l | 内存中有锁存空间 |
N | 优先级低 |
< | 优先级高 |
+ | 前台运行 |
s | 顶级进程 |
R+ | 正在运行 |
1.进程优先级的范围
-20~19
进程的优先级(越负,优先级越高)
2.优先级查看
watch -n1 ps a -o stat,comm,pid,nice #加上监控实时查看
3.指定某个优先级开启进程:nice
nice -n 优先级数字 进程名称
nice -n (5) (pid) 设置进程一开始时的优先级
nice -n -5 vim & ##开启vim并且指定程序的优先级为-5
4.改变进程优先级 :renice
renice -n 优先级数字 进程pid
renice -n (5) (pid) 改变进程的优先级
renice -n -5 4073 ##改变4073进程的优先级为-5
+ 表示正在进行的;- 表示次位
jobs ##查看打入后台的进程
ctrl+z ##把占用终端的进程打入后台
comm & ##让命令直接在后台运行
fg jobnumber ##把后台进程调回前台
bg jobnumber ##把后台暂停的进程运行
-注意:
有些命令不能在后台运行(例如 vim & ;)
在vim命令窗口下ctrl+z 将vim 打入后台
1.常用信号等级
1 | 进程重新加载配置(进程不关闭的情况下重新加在配置) |
---|---|
2 | 删除进程在内存中的数据(不能是锁定的内存(锁定的空间数据被删除进程就会被关闭))(ctrl+c) |
3 | 删除鼠标在内存中的数据(ctrl+\) |
9 | 强行结束单个进程(不能被阻塞) |
15 | 正常关闭进程(可能被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程(不能被阻塞) |
man 7 signal ## 查看进程信号详细信息
kill ---->向内核之间发送信号
kill -信号 进程pid
killall -信号 进程名称
pkill -u student -信号
1.top
1. | 显示cpu每个核的负载 |
---|---|
s | 调正刷新频率 |
c | cpu负载排序 |
m | 内存使用量排序 |
h | 查看帮助 |
u | 查看指定用户的进程 |
k | 对指定进程发起信号 |
z | 显示颜色 |
b | 高亮显示 |
q | 退出 |
1.服务:做了对他人的帮助,对自己没有影响。
2.控制服务
定义:系统中运行的对于系统本身没有意义但是对客户主机有重大意义的程序叫做服务性软件简称服务。
cs模型 : c——client
s——server
当前系统初始化进程
systemd ###系统初始化进程
pstree ###显示系统中的进程树
3.进程控制命令
ssh------->sshd(远程控制连接的服务)
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-units-files ##列出所有服务开机启动的状态 disable,enable,static
systemctl list-dependencies ##列出服务的依赖
systemctl set-default multi-user.target ##设定系统启动级别为多用户模式(无图形)
systemctl set-default graphical.target ##设定系统启动为图形界面