进程简介
程序放置在存储媒体中,实体文件的形态存在,程序触发后,执行者的权限与属性,程序的程序代码与所需数据都会被载入内存,操作系统给予这个进程一个识别码,就是PID,可以说,进程就是一个正在运行的程序。
进程状态
R(running):该程序正在运行
S(sleeping):程序处于睡眠状态,可以被唤醒(signal)
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T:停止状态(stop),可能是在工作控制(背景暂停),或者除错状态(tracked)
Z(Zombie):僵尸状态,程序终止但却无法移到内存外
孤儿进程:父级进程被强行关闭,由系统初始化程序接管孤儿进程并关闭
进程相关命令
查看进程
ps:查看进程状态
参数:
只输入ps,查看当前终端运行的程序
-a查看shell中的运行的所有程序
-A查看系统中的所有进程
a包括环境状态,显示所有进程
-d查看所有进程,但是不显示环境本身(shell)
e显示进程扩展信息(系统调用资源)
x显示有输出设备的进程
-u查看进程用户
f显示进程树,显示进程从属关系
常用ps命令组合
ps aux显示系统中所有进程并显示进程用户
ps ef显示进程详细信息并显示进程父子关系
ps ax显示当前系统中的所有进程
pstree显示当前系统中的进程树
显示进程指定信息
ps -o 指定参数
参数内容comm进程名称
user进程所有人
group进程所有组
%cpu进程cpu使用率
%mem进程内存的使用率
pid进程id
nice进程优先级数
进程排序
ps ax --sort=
参数-表示从大到小排序
+表示从小到大排序
+%cpu|-%cpu进程按cpu使用率排序
+%mem|-%cpu进程按mem使用率排序
例:ps命令单独执行
例:ps命令组合
例:ps指定项目排序查看(找出cpu使用率前五)
例:ps找出cpu使用率前五的pid
例:pstree的使用
top:进程动态监控
操作
1显示cpu每个核的负载
s调整刷新频率
ccpu负载排序
mmemory使用排序
h打印帮助界面
u查看指定用户进程
k对进程发起信号
q退出界面
使用top打印信息
按cpu进行排序
按mem进行排序
调整刷新频率
打印帮助界面
前后台任务调度
jobs 查看后台任务
参数-l列出pid
-r正在后台run的工作
-s后台中暂停的工作
ctrl+z--------->占用终端的进程打入后台
bg------------->后台暂停的工作继续工作
fg-------------->后台程序调回前台
&--------------->命令直接在后台运行
例:使用top命令,使用ctrl+z将之打入后台,使用&使得vim编辑文件file在后台执行,使用jobs查看这两个任务
使用fg将vim调入前台工作
利用jobs -l查看pid
优先级调整
优先级调整范围 -20~19
nice 指定进程开启时的优先级
开启方式
nice -n 优先级 进程名称
renice 修改进程优先级
设置方式
renice -n 优先级 PID
查看方式(-o参数,nice选项)
ps ax -o pid,nice,comm
例:设置vim开启优先级为5
重新设定该进程优先级为0
进程信号发送
kill 发送信号给进程
参数
1进程重新加载配置
2删除进程在内存中的数据
3删除鼠标在内存中的数据
9强行结束单个进程序(不阻塞)
15正常关闭进程(可能不会关闭,被阻塞)
18运行暂停的进程
19暂停某个进程(不会阻塞)
20暂停某个进程(可能会阻塞)
man 7 signal查看信号详细信息
使用方式
kill -signal pid
killall -signal 进程名
pkill -u user-signal
例:信号具体信息
例:暂停tar打包压缩/usr程序的执行
例:继续打包进程
例:强制杀死进程top
例:正常结束进程top被阻塞
杀死所有vim程序
杀死用户zy的进程
服务控制
系统初始化进程可对服务进行相应控制
系统初始化进程
systemd
控制格式
systemctl执行动作服务名称
systemctl startsshd.service
执行动作
status查看服务状态(active活动中,inactive非活动中)
start开启服务
stop停止服务
restart重启服务
reload重新加载配置
enable开机自启动
disable开机不自启动
list-units显示开启服务状态
list-unit-files列出所有服务开机状态(static enable disable)
list-dependencies列出服务依赖
set-default multi-user.target默认开机后多用户模式
set-default multi-user.target 默认开机后图形模式
例:开启/关闭/重启/重新装载sshd服务
例:使得sshd服务开机自启动/不启动
例:显示开启服务状态
例:显示sshd服务依赖
例:列出服务开机状态
设定开机多用户模式启动