进程创建及其管理
###进程的定义###
在内存中加载一个程序并持续运行,称之为进程
#####进程相关命令#####
ps命令
ps a ##关于当前环境的所有进程
x| -A ##所有进程
f ##现实进程从属关系
e ##显示进程调用环境工具的详细信息
l ##长列表显示进程的详细信息
u ##显示进程的用户信息
-a ##显示shell前台运行命令的进程,但不包含shell本身
ps aux 查看系统全部进程
进程状态
R(Running):该程序正在运行中;
S(Sleep):该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
D:不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T:停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态。
Z:(Zombie):僵尸状态,程序已经终止但却无法被移除至内存外。
top:动态监控进程,查看进程信息
s:修改进程刷新间隔时间。
m:根据内存占有率进行排序。
c:根据cpu占有率进行排序。
u:后面输入用户名,用来查看该用户发起的所有进程。
k:后面跟要作用的进程pid,和发起的信号(eg:9,15,20)用来给某个进程发起一信号。
q:退出进程查看界面。
h:显示top命令的帮助。
ps ax -o %cpu,%mem,user,group,comm,nice,pid,stat ##指定显示信息
%cpu ##显示进程cpu负载
%mem ##显示进程内存负载
user ##进程用户
group ##进程组
comm ##指令
nice ##进程优先级
pid ##进程的id
stat ##进程状态
ps ax -o %cpu,%comm --sort<+|-%cpu><+|-%mem> ##按照进程信息排序
+ ##正序
- ##倒序
%cpu ##cpu负载排序
%mem ##内存负载
eg:ps ax -o %mem,pid,%cpu --sort -%mem
通过对内存负载%mem进行降序,依次排列出其对应的pid和%mem
通过对内存负载%mem进行升序,依次排列出其对应的pid和%mem
####进程优先级####
1.进程的优先级范围
-20 ---- +19
- 代表 高
+ 代表 低
2.优先级查看
ps ax -o pid,nice,comm
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 10 vim & ## 开启vim打入后台,并且指定程序优先级为10
4.改变进程优先级
renice -n 优先级数字 进程pid
eg:renice -n 6 2631 ##改变2631(vim)进程的优先级为6
###工作管理###
工作管理是用在bash环境下的,当我们登录系统取得bash,shell之后,在单一终端接口下同时进行多个工作的行为管理。举例来说,我们在登陆bash后,想要一边进行数据搜寻、一边打开浏览器,还可以一边进行vim程序撰写!但是只有一个输出端口,就需要运用工作的前后台管理
命令 & job在后台运行;
ctrl+Z 已经打开的进程打入后台,并且不运行;
fg 将后台的job调回前台;
bg 后台不运行的进程运行起来;
jobs 查看当前bash的job;
jobs -l 查看当前的bash的job,并显示该job的状态与PID
进程信号
-1 在程序不重启的情况下重新加载配置
-2 清除指定程序在内存中的数据
-3 清除鼠标在内存中的数据
-9 强行关闭某个进程,不会被阻塞
-15 正常关闭某个进程,可能会被阻塞
-18 继续运行暂停的进程
-19 暂停指定进程,不会被阻塞
-20 暂停指定进程,会被阻塞
发起信号
kill 信号 进程pid ##以某种信号对某个进程(pid)进行操作
killall 信号 进程名称
对该bash中的所有此进程进行某种信号的操作
eg:killall -9 vim ##将此bash中所有的vim进程强行关闭