9.深度解析Redhat系统中进程管理方法

1.什么是进程

程序放置在存储媒体中,为实体文件的形体存在

进程:程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给进程一个识别码(PID)

可以说,进程就是一个正在运行的程序。

2.进程的状态

R(running)该程序正在运行中。
S(sleeping)该程序目前正在睡眠状态(idle),但可以被唤醒(signal)。
D不可被唤醒的睡眠状态,通常进程可能在等待I/O的情况。
T(stop)停止状态,可能是在工作控制(背景暂停)或除错(traced)状态。
Z(Zombie僵尸状态,程序已经终止但却无法被移除至内存外。

3.查看进程

1)图形方式查看 

[root@client Desktop]# gnome-system-monitor 

                             

2)进程查看命令

  a.常用命令  ps

参数含义
-A所有进程
-a在当前环境中运行的进程,不包函环境信息
-u显示进程用户信息

a

在当前环境中运行的进程
x列出系统中所有运行包含tty输出设备
f显示进程的父子关系
e显示进程的详细信息(系统资源的调用)

ps  -A     ##查看所有进程

                               

ps  -a    ##在当前环境中运行的进程,不包函环境信息

       

ps  -u  ##显示进程用户信息

ps  a ##在当前环境中运行的进程

ps   x   ##列出系统中所有运行包含tty输出设备

ps  f ##显示进程的父子关系(ps为/bin/bash的子进程)

注意:父进程关闭子进程关闭; 

          孤儿程序受系统的初始化程序控制。

ps  e  ##显示进程的详细信息(系统资源的调用)

pstree  ##显示当前系统的进程树

                           

  b.ps常用组合

参数意义
aux显示系统中所有进程并显示进程用户
ef显示进程详细信息并显示进程父子关系
ax显示当前系统中的所有进程

  ps   aux

ps  ef

ps   ax

c.显示进程指定信息

参数意义
-o     *****显示进程的指定信息
-o     comm进程名称
-o     user进程所有人
-o     group进程所有组
-o     %cpu进程cpu使用率
-o     %mem进程内存使用率
-o     pid进程id
-o      nice进程优先级

 ps -o comm

                   

ps -o user

                      

ps -o group

                    

ps -o %cpu             

                

ps -o %mem

                

ps -o pid

                

ps -o nice

                

e.g.

ps -o pid,comm,user,%cpu   ##查看进程pid,user,进程名称,cpu使用率

                       

d.进程排序

ps ax  --sort=+%cpu / -%cpu(降序)  ##按cpu使用率排序
ps ax  --sort=+%mem / -%mem(降序)   ##按内存使用率排序

e.g.

ps ax  --sort=+%cpu  ##按cpu使用率升序排序 

ps ax  --sort=-%mem  ##按内存使用率降序排序

e.STAT中显示的信息

参数含义
S进程状态
l内存中有锁定空间
N优先级低
<优先级高
+前台运行
s顶级进程
R+正在运行

4.进程优先级

1)进程优先级范围

-20~19(越负优先级越高)

2)优先级查看

ps ax -o pid,nice,comm

                                          

 

3)指定某个优先级开启进程

nice   -n  优先级数字    进程名称

nice -n  -5 vim &	   ##开启vim并且指定程序优先级为-5

                          

4)改变进程优先级:renice

    reince -n   优先级数字     进程pid

renice -n -10 2750	##改变进程2750的优先级为-10

                      

5.环境中进程的前后台调用

jobs            查看被打入环境后台的进程
ctrl+z把占用终端的进程打入后台
fg jobsnum把后台进程调回前台
bg jobsnum把后台暂停的进程运行
comm &让命令直接在后台运行

 

6.进程信号

常用信号等级

1进程重新加载配置(进程不关闭的情况下重新加在配置)
2删除进程在内存中的数据(不能是锁定的内存(锁定的空间数据被删除进程就会被关闭))(ctrl+c)
3删除鼠标在内存中的数据(ctrl+\)
9强行结束单个进程(不能被阻塞)
15正常关闭进程(可能会被阻塞)
18运行暂停的程序
19暂停某个进程(不能被阻塞)
20把进程打入后台 (可以被阻塞)
man  7 signal查看信号详细信息
kill     -信号  进程pid
killall  -信号  进程名字

对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管你在做什么,立刻停止”的信号。

e.g.

kill -9 3117  ##强行结束3117(不能被阻塞)

                          

7.进程的动态监控:top

1显示cpu每个核的负载
s调整刷新频率
ccpu负载排序
m内存使用量排序
h查看帮助
u查看指定用户进程
k对指定的进程发起信号
z显示颜色
b高亮显示
q退出

e.g.  

top 查看

按s更改刷新频率   3.0s改为1.0s

8.控制服务

1)什么是服务

定义:系统中运行的对于系统本身没有意义但是对客户主机有重大意义的程序叫做服务性软件简称服务。

cs模型:           c-->client                 s-->server

2)用什么控制服务

系统初始化进程可以对服务进行相应的控制。

3)当前系统初始化进程是什么

1.systemd    ##系统初始化进程
2.pstree       ##显示系统中的进程树

4)进程控制命令

##以sshd服务为例子:
ssh -------->sshd
client       server

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-unit-files	         ##列出所有服务开机启动的状态 disable,enable,static
systemctl 	list-dependencies	 ##列出服务的依赖
systemctl	set-default multi-user.target	   ##设定系统启动级别为多用户模式(无图形)
systemctl	set-default graphical.target	   ##设定系统启动级别为图形模式

e.g.

systemctl     status    sshd    ##查看服务状态,inactive(不可用),active(可用)

systemctl    stop     sshd    ##关闭服务

systemctl    start     sshd    ##开启服务


systemctl     restart    sshd    ##重启服务

可以看到,两次sshd服务的pid不同,说明重启了

systemctl     reload    sshd    ##重新加载服务配置

重新加载没有重启,pid不改变。

systemctl    disable    sshd    ##设定服务开机不启动

systemctl     enable    sshd    ##设定服务开机启动


systemctl    list-units    ##列出已经开启服务当前状态

systemctl     list-unit-files    ##列出所有服务开机启动的状态 disable,enable,static

systemctl     list-dependencies    ##列出服务的依赖

systemctl    set-default multi-user.target    ##设定系统启动级别为多用户模式(无图形)

systemctl    set-default graphical.target    ##设定系统启动级别为图形模式

systemctl mask sshd  ##冻结服务 (关的时候锁)

systemctl unmask sshd ##解锁服务

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值