程序放置在存储媒体中,实体文件的形态存在,程序触发后,执行者的权限与属性,程序的程序代码与所需数据都会被载入内存,操作系统给予这个进程一个识别码,就是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
1 显示cpu每个核的负载
s 调整刷新频率
c cpu负载排序
m memory使用排序
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
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 start sshd.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服务依赖
例:列出服务开机状态
设定开机多用户模式启动