进程管理

本文深入解析了进程的基本状态(创建、就绪、执行、阻塞、终止)及其转换,并探讨了进程优先级的分类(系统优先级、实时优先级和nice值)。此外,介绍了Linux系统常用的查看与管理工具,如ps、top、htop和free等,以及如何操作和监控进程。
摘要由CSDN通过智能技术生成

进程的基本状态:创建、就绪、执行、阻塞、终止
状态之间的六种转换:运行→就绪,就绪→运行,运行→阻塞,阻塞→就绪,阻塞→运行,就绪→阻塞


进程优先级:
    系统优先级:数字越小,优先级越高
        0-139(centos4,5)
        0-98,99(centos6)
    实时优先级:99-0值最大优先级越高
    nice值:-20到19,对应系统优先级100-139或99
查看优先级
ps axo nice\pri\psr\reprio

更改nice优先级
renice -n # 进程号


linux系统状态的查看及管理工具:
pstree -p    显示进程树
vmstat # #    管理虚拟内存信息
procs r        可运行进程的个数
      b        被阻塞的队列的长度
iostat # #    统计CPU和设备IO信息
pmap pid    进程对应的内存映射
     -x        详细格式
glance        远程监控进程
dstat # #    统计CPU和设备IO信息,取代iostat
iotop        监视磁盘I/O使用状况
pidof xx(进程名)    查看pid


PS命令:(常用ps aux)
ps       显示当前终端进程
   a    所有终端进程
   x    显示与终端无关的进程
   u    进程所有者的信息
   f    进程树
   k    指定属性排序pid,cmd,%cpu,%men
   o    显示定制信息pid,cmd,%cpu,%men
   L    显示支持的属性列表

输出信息说明:
VSZ    RSS    TTY    STAT
承诺分    实际    终端    进程状态
配内存    内存    编号

STAT分类:
R: running
S:可打断休眠
D:不可打断休眠
T:暂停状态
Z:僵尸状态
+:前台进程
l:多线程进程
L:内存分页并带锁
N:低优先级进程
<:高优先级进程
s:子进程


搜索进程
pgrep命令:支持正则表达式
pgrep   -u uid    生效者
    -U uid    发起者
    -t    与终端相关的进程
    -l    显示进程名
    -a    显示完整格式的进程名
    -P pid    显示指定进程的子进程

指定进程的ID


top命令:默认CPU排序
top -b 显示所有进程
    -n # 刷下多少次后退出
    -d # 指定刷新间隔时间   
    
shift+p,以CPU排序
shift+m,以内存排序
shift+t,以占用时长排序
l,首部信息显示,uptime内容    
t,tasks及cpu信息(Task:total进程数,running、sleeping、stopped、zombie进程状态)
         (CPU:us用户占用,sy系统占用,id空闲,hi硬中断,si软中断,st虚拟机占用)
1(数字),cpu分别显示
m,memory信息

q退出 s修改刷新间隔 k终止指定进程  shift+w保存文件


htop命令:
htop -d #    指定延迟时间
     -u 用户名    仅显示指定用户的进程
     -s     以指定字段进行排序
s,跟踪选定进程的系统调用
l,显示选定进程打开的文件列表
a,将选定的进程绑定至某指定CPU核心
t,显示进程树


free命令:
free    显示内存空间使用状态
    -b    以字节为单位
    -m    以MB为单位
    -g    以GB为单位
    -h    易读格式
    -o    不显示buffers/cache
    -t    显示RAM+swap总和
    -s #    刷新间隔为#秒
    -c #    刷新#次后退出


kill命令:
kill -l,trap -l        显示当前系统可用信号

kill -# pid\name    (默认发15信号)
killall pid\name
常用信号:
1-SIGHUP,无须关闭进程而让其重读配置文件
2-SIGINT,中止正在运行的进程,等于Ctrl+c
3-SIGOUIT,相当于Ctrl+\
9-SIGKILL,强制杀死正在运行的进程
15-SIGTERM,终止正在运行的进程
18-SIGCONT,继续运行
19-SIGSTOP,后台休眠

pkill -u uid    生效者
      -U uid    发起者
      -t xxx    指定终端相关的进程
      -l    显示进程名
      -a    显示完整格式的进程名
      -P pid    显示指定进程的子进程


进程前后台管理
前台进程:通过终端启动,且启动后一直占据终端
后台进程:可通过终端启动,但启动后即转入后台运行

让进程运行于后台
1)运行中的进程:    Ctrl+z
2)尚未启动的进程: COMMAND &

后台进程虽然被送往后台运行,但其依然与终端相关;退出终端,将关闭后台进程。如果希望送往后台后,剥离与终端的关系
nohup COMMAND &> /dev/null &
screen;COMMAND  (恢复:screen -r)

查看当前终端所有进程:jobs
进程控制:
fg[JOB_NUM]:把指定的后台进程调回前台
bg[JOB_NUM]:让送往后台的进程后台继续运行
kill[%JOB_NUM]:终止指定的进程


并行运行
同时运行多个进程,提高效率
方法1:把多个进程写在脚本里,再执行脚本
方法2:
(f1.sh&);(f2.sh&);(f3.sh&)
方法3:
{ f1.sh& f2.sh& f3.sh& }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金牌收租佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值