Linux进程管理(redhat 8.0)

本文介绍了Linux进程管理,包括进程的基本概述、优先级及其调整、进程管理命令如ps、pstree、pgrep等,以及如何控制作业和使用信号来控制进程。还提到了进程间通信、IO负载监控和实时系统性能查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux进程管理

进程基本概述

1进程的组成部分 2进程的环境 3进程的产生 4进程的分类

Linux进程调度与多任务

进程优先级

  • 进程优先级范围:0-139,数字越小优先级越高
    - 0-99:实时优先级,由内核调整
    - 100-139:静态优先级,用户可控制
  • 进程优先级高的特点:
    - 获得更多的CPU运行时间
    - 更优先获得CPU运行机会
    要修改进程的优先级可以通过调整进程的nice值来实现,nice值越小,优先级越高:
    nice值的范围是(-20到19),-20对应100,19对应139

相对优先级描述

nice级别与权限

普通用户只能通过nice命令降低自己进程的优先级;只有Root用户才能通过nice命令提高自己进程的优先级

进程优先级调整

renice NI PID #调整已经启动的进程nice值
例:renice 3 3704
nice -n NI Command

进程管理命令

ps命令用于列出当前所有进程,可以查看进程的详细信息

包括:

  • 用户识别符(UID),它确定进程的特权
  • 唯一进程识别符(PID)
  • CPU和已经划分的实时时间
  • 进程在各个位置上分配的内存数量
  • 进程的位置STDOUT,称为控制终端
  • 当前的进程状态
    ps支持三种选项格式:
    - UNIX(POSIX)选项,可以分组但必须以连字符开头
    - BSD选项,可以分组但不可以与连字符同用
    - GNU长选项,以双联字符开头

ps(process state),显示进程信息:

	- 加了[ ]中括号的,表示内核线程,通常位于顶部
	- exiting或defunct表示僵尸进程

常用参数:
a //显示所有与终端有关的进程
u //显示进程是由哪个用户启动的
x //显示所有与终端无关的进程

-e //显示所有进程,与-A效果相同
-l //以长格式显示
-F //显示更详细的完整格式的进程信息
-f //显示更详细的完整格式的进程信息
-H //以进程层级格式显示进程相关信息
-o //根据自己的需要选择要显示的字段

显示所有终端进程
显示启动用户
显示与所有终端无关的进程

[root@wcluser ~]# ps aux | grep smb
root       1520  0.0  1.1 189724 21932 ?        Ss   8月06   0:00 /usr/sbin/smbd --foreground --no-process-group
root       1683  0.0  0.2 162924  5488 ?        S    8月06   0:00 /usr/sbin/smbd --foreground --no-process-group
root       1684  0.0  0.2 162916  4380 ?        S    8月06   0:00 /usr/sbin/smbd --foreground --no-process-group
root       1686  0.0  0.3 189724  5896 ?        S    8月06   0:00 /usr/sbin/smbd --foreground --no-process-group

显示所有进程
以长格式显示进程
更详细显示进程相关信息

[root@wcluser ~]# ps -elf | grep smb
4 S root       1520      1  0  80   0 - 47431 do_epo 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1683   1520  0  80   0 - 40731 do_epo 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1684   1520  0  80   0 - 40729 do_epo 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1686   1520  0  80   0 - 47431 do_epo 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group

显示所有进程
以长格式显示进程
层级格式显示进程相关信息

[root@wcluser ~]# ps -elH | grep smb
4 S     0   1520      1  0  80   0 - 47431 do_epo ?        00:00:00   smbd
1 S     0   1683   1520  0  80   0 - 40731 do_epo ?        00:00:00     smbd-notifyd

显示所有进程
以长格式显示进程
显示更详细的完整格式的进程信息

[root@wcluser ~]# ps -elF | grep smb
4 S root       1520      1  0  80   0 - 47431 do_epo 21932   0 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1683   1520  0  80   0 - 40731 do_epo  5488   0 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1684   1520  0  80   0 - 40729 do_epo  4380   0 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group
1 S root       1686   1520  0  80   0 - 47431 do_epo  5896   0 8月06 ?       00:00:00 /usr/sbin/smbd --foreground --no-process-group

只显示进程号、命令、nice优先级

[root@wcluser ~]# ps -o pid,comm,ni
   PID COMMAND          NI
  2105 bash              0
  2300 ps                0
aux结果 解析
VSZ Virtual memory SiZe,虚拟内存集
RSS ReSident Size,常驻内存集
STAT 进程状态
TIME 运行时的累积时长
ps命令结果 解析
NI nice值
PRI 优先级
PSR 进程运行在哪个CPU核心上
RTPTRIO 实时优先级
C 运行的CPU编号
STIME 进程的启动时

pstree<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值