✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • 进程概述及ps管理进程
  • 什么是进程
  • 1、使用ps命令查看进程
  • 2.使用ps命令查看进程,用标准的格式来显示进程

这有帮助吗?

  1. Linux--CentOS

系统进程管理

上一页文件的压缩和归档下一页uptime命令查看系统负载

最后更新于3年前

这有帮助吗?

进程概述及ps管理进程

什么是进程

进程是已启动的可执行程序的运行实例,进程有以下组成部分。

(1)已分配内存的地址空间。

(2)安全属性,包括所有权凭据和特权。

(3)程序代码的一个或多个执行线程。

(4)进程状态。

程序是二进制文件,在没启动时为静态,存储在磁盘空间中,如/bin/date、/usr/sbin/sshd。进程则是二进制文件或程序运行的过程,展示为动态,有生命周期及运行状态。进程的生命周期如图所示。

进程状态描述如下。

Stopped:停止状态,不会再被调度到CPU上运行。

Ready:就绪状态,在队列中等待运行,只要轮到其运行,就马上可以在CPU上运行。

Executing:正在运行中,说明已获得CPU,并在CPU上运行。在运行当中,可能会因为需要获得其他资源而转入睡眠状态。

Uninterruptible Sleep:睡眠状态(不可中断的睡眠),当进程在运行中需要加载额外的IO资源时,由于IO速度比CPU慢,进程会进入睡眠状态,交出CPU,运行其他进程。之所以睡眠,是因为进程运行时所需要的资源没有正常获取到,或是进程没有更多的事务需要执行。睡眠状态的进程也是可以被内核再次调度到CPU上运行的,但对于这种需要加载额外资源才能运行的进程,在额外资源没有加载完成时,再次调度运行(中断睡眠)没有任何意义,因此说“不可中断”。

Interruptible Sleep:睡眠状态(可中断的睡眠),进程在运行中并不是因为某个额外资源的问题进入睡眠状态,而可能是因为需要执行的事务已经执行完成。例如,某个服务,有用户进行请求时,那么该进程则运行,执行完成用户的请求时,并不能退出运行,所以需要转入睡眠状态。当有用户再次请求时,系统内核则将其再次调度到CPU上运行,是有需要时可以随时调度的睡眠状态,因此说“可中断的睡眠”。

Zombie:僵尸进程,在一个进程运行结束时,如果资源能够被回收,那么该进程正常结束。如果进程运行结束时,资源不能被回收,占用的内存不释放,在内核的数据结构也没法删除,甚至连进程占用了哪些内存都无法得知,导致该进程无法释放内存空间,一直存在内存中不能自动退出。因此,该进程也不会再次被内核调度到CPU上运行了,这类进程称为“僵尸进程”。

进程有如下属性:

① 进程ID(PID):是唯一的数值,用来区分进程。
② 父进程的ID(PPID)。
③ 启动进程的用户的UID和所归属的组的GID。
④ 进程状态:状态分为运行(R)、休眠(S)、僵尸(Z)。
⑤ 进程执行的优先级。
⑥ 进程所连接的终端名。
⑦ 进程资源占用:如占用资源大小(内存、CPU占用量)。

CentOS 5或6,PID为1的进程是init。
CentOS 7,PID为1的进程是systemd。

1、使用ps命令查看进程

ps命令:用于查看进程的相关信息,默认只显示前台进程。

命令使用格式:ps [选项]

1.使用PS命令查看进程,用BSD的格式显示进程常用的选项如下。

a:显示与当前终端关联的所有进程。
u:基于用户的格式显示(U:显示某UID所有的进程)。
x:显示所有进程,不以终端机来区分。

常用的选项组合是ps-aux

USER:启动这些进程的用户。
PID:进程的ID。
%CPU:进程占用的CPU百分比。
%MEM:进程占用的内存百分比。
VSZ:进程占用的虚拟内存大小(单位:KB)。
RSS:进程占用的物理内存大小(单位:KB)。

STAT该进程目前的状态,Linux进程有5种基本状态:

    • R表示该进程目前正在运作,或者是可被运作。
    • S表示该进程目前正在睡眠当中(idle状态),但可被某些信号(signal)唤醒。
    • T表示该进程目前正在侦测或停止了。
    • Z表示该进程应该已经终止,但是其父进程却无法正常将其终止,所以为Zombie(僵尸)进程状态。
    • D表示不可中断状态。
    
    5种基本状态后可以加的字母含义如下:
    <:表示进程运行在高优先级上。
    N:表示进程运行在低优先级上。
    L:表示进程有页面锁定在内存中。
    S:表示进程是控制进程。
    L:表示进程是多线程的。
    +:表示当前进程运行在前台。
    
START:该进程被触发启动的时间。
TIME:该进程实际使用CPU运作的时间。
COMMAND:启动该进程的实际指令。

5种基本状态后还可以加一些字母,如Ss、R+,如图:

2.使用ps命令查看进程,用标准的格式来显示进程

ps命令常用的选项如下:
-e:显示所有进程。
-f:显示完整格式输出。
常用的组合:ps -ef
进程相关信息每列含义如下:
UID:启动进程的用户的ID。
PID:进程的ID。
PPID:父进程的ID。
C:进程生命周期中CPU的利用率。
STIME:进程启动时的系统时间。
TTY:表明进程在哪个终端设备上运行。如果显示“?”,表示与终端无关,这种进程一般是内核态进程。另外,tty1~tty6是本机上的登入者程序,若为pts/0等,则表示运行在虚拟终端上的进程。
TIME:运行进程累计占用CPU的时间。
CMD:启动的程序名称。