爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      首页 知识中心 软件开发 文章详情页

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      2024-10-18 06:07:46 阅读次数:26

      gt,lt,进程

      0 前言

      系统进程信息是电脑网络信息安全检查中的一块重要内容,对于使用Linux和基于Linux作为操作系统的电脑来说,可以使用ps命令。

      1 ps命令 的功能、格式和选项说明

      1.1 ps命令 的功能

      Linux 中的ps(意为:process status)命令用于显示当前进程的状态,类似于Windows系统中的tasklist 命令,我们可以查看系统中运行的进程信息,包括进程的ID、父进程ID、CPU和内存占用等信息,并可以根据需求进行进一步的过滤和排序。

      我们可以使用命令 ps --help 来查看ps命令的帮助信息。

      [purpleendurer @ bash ~ ] ps --help
      
      Usage:
       ps [options]
      
       Try 'ps --help <simple|list|output|threads|misc|all>'
        or 'ps --help <s|l|o|t|m|a>'
       for additional help text.
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

       1.2 ps命令的格式

      ps [选项]   

      1.3 ps命令的选项

       ps命令的选项非常多。

      [purpleendurer @ bash ~ ] ps --help simple
      
      Usage:
       ps [options]
      
      Basic options:
       -A, -e               all processes
       -a                   all with tty, except session leaders
        a                   all with tty, including other users
       -d                   all except session leaders
       -N, --deselect       negate selection
        r                   only running processes
        T                   all processes on this terminal
        x                   processes without controlling ttys
      
      For more details see ps(1).

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      [purpleendurer @ bash ~ ] ps --help list
      
      Usage:
       ps [options]
      
      Selection by list:
       -C <command>         command name
       -G, --Group <GID>    real group id or name
       -g, --group <group>  session or effective group name
       -p, p, --pid <PID>   process id
              --ppid <PID>  parent process id
       -q, q, --quick-pid <PID>
                            process id (quick mode)
       -s, --sid <session>  session id
       -t, t, --tty <tty>   terminal
       -u, U, --user <UID>  effective user id or name
       -U, --User <UID>     real user id or name
      
        The selection options take as their argument either:
          a comma-separated list e.g. '-u root,nobody' or
          a blank-separated list e.g. '-p 123 4567'
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      [purpleendurer @ bash ~ ] ps --help output
      
      Usage:
       ps [options]
      
      Output formats:
       -F                   extra full
       -f                   full-format, including command lines
        f, --forest         ascii art process tree
       -H                   show process hierarchy
       -j                   jobs format
        j                   BSD job control format
       -l                   long format
        l                   BSD long format
       -M, Z                add security data (for SELinux)
       -O <format>          preloaded with default columns
        O <format>          as -O, with BSD personality
       -o, o, --format <format>
                            user-defined format
        s                   signal format
        u                   user-oriented format
        v                   virtual memory format
        X                   register format
       -y                   do not show flags, show rss vs. addr (used with -l)
           --context        display security context (for SELinux)
           --headers        repeat header lines, one per page
           --no-headers     do not print header at all
           --cols, --columns, --width <num>
                            set screen width
           --rows, --lines <num>
                            set screen height
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      [purpleendurer @ bash ~ ] ps --help threads
      
      Usage:
       ps [options]
      
      Show threads:
        H                   as if they were processes
       -L                   possibly with LWP and NLWP columns
       -m, m                after processes
       -T                   possibly with SPID column
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      [purpleendurer @ bash ~ ] ps --help misc
      
      Usage:
       ps [options]
      
      Miscellaneous options:
       -c                   show scheduling class with -l option
        c                   show true command name
        e                   show the environment after command
        k,    --sort        specify sort order as: [+|-]key[,[+|-]key[,...]]
        L                   show format specifiers
        n                   display numeric uid and wchan
        S,    --cumulative  include some dead child process data
       -y                   do not show flags, show rss (only with -l)
       -V, V, --version     display version information and exit
       -w, w                unlimited output width
      
              --help <simple|list|output|threads|misc|all>
                            display help and exit
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      [purpleendurer @ bash ~ ] ps --help all
      
      Usage:
       ps [options]
      
      Basic options:
       -A, -e               all processes
       -a                   all with tty, except session leaders
        a                   all with tty, including other users
       -d                   all except session leaders
       -N, --deselect       negate selection
        r                   only running processes
        T                   all processes on this terminal
        x                   processes without controlling ttys
      
      Selection by list:
       -C <command>         command name
       -G, --Group <GID>    real group id or name
       -g, --group <group>  session or effective group name
       -p, p, --pid <PID>   process id
              --ppid <PID>  parent process id
       -q, q, --quick-pid <PID>
                            process id (quick mode)
       -s, --sid <session>  session id
       -t, t, --tty <tty>   terminal
       -u, U, --user <UID>  effective user id or name
       -U, --User <UID>     real user id or name
      
        The selection options take as their argument either:
          a comma-separated list e.g. '-u root,nobody' or
          a blank-separated list e.g. '-p 123 4567'
      
      Output formats:
       -F                   extra full
       -f                   full-format, including command lines
        f, --forest         ascii art process tree
       -H                   show process hierarchy
       -j                   jobs format
        j                   BSD job control format
       -l                   long format
        l                   BSD long format
       -M, Z                add security data (for SELinux)
       -O <format>          preloaded with default columns
        O <format>          as -O, with BSD personality
       -o, o, --format <format>
                            user-defined format
        s                   signal format
        u                   user-oriented format
        v                   virtual memory format
        X                   register format
       -y                   do not show flags, show rss vs. addr (used with -l)
           --context        display security context (for SELinux)
           --headers        repeat header lines, one per page
           --no-headers     do not print header at all
           --cols, --columns, --width <num>
                            set screen width
           --rows, --lines <num>
                            set screen height
      
      Show threads:
        H                   as if they were processes
       -L                   possibly with LWP and NLWP columns
       -m, m                after processes
       -T                   possibly with SPID column
      
      Miscellaneous options:
       -c                   show scheduling class with -l option
        c                   show true command name
        e                   show the environment after command
        k,    --sort        specify sort order as: [+|-]key[,[+|-]key[,...]]
        L                   show format specifiers
        n                   display numeric uid and wchan
        S,    --cumulative  include some dead child process data
       -y                   do not show flags, show rss (only with -l)
       -V, V, --version     display version information and exit
       -w, w                unlimited output width
      
              --help <simple|list|output|threads|misc|all>
                            display help and exit
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]
      [purpleendurer @ bash ~ ] ps --help a
      
      Usage:
       ps [options]
      
      Basic options:
       -A, -e               all processes
       -a                   all with tty, except session leaders
        a                   all with tty, including other users
       -d                   all except session leaders
       -N, --deselect       negate selection
        r                   only running processes
        T                   all processes on this terminal
        x                   processes without controlling ttys
      
      Selection by list:
       -C <command>         command name
       -G, --Group <GID>    real group id or name
       -g, --group <group>  session or effective group name
       -p, p, --pid <PID>   process id
              --ppid <PID>  parent process id
       -q, q, --quick-pid <PID>
                            process id (quick mode)
       -s, --sid <session>  session id
       -t, t, --tty <tty>   terminal
       -u, U, --user <UID>  effective user id or name
       -U, --User <UID>     real user id or name
      
        The selection options take as their argument either:
          a comma-separated list e.g. '-u root,nobody' or
          a blank-separated list e.g. '-p 123 4567'
      
      Output formats:
       -F                   extra full
       -f                   full-format, including command lines
        f, --forest         ascii art process tree
       -H                   show process hierarchy
       -j                   jobs format
        j                   BSD job control format
       -l                   long format
        l                   BSD long format
       -M, Z                add security data (for SELinux)
       -O <format>          preloaded with default columns
        O <format>          as -O, with BSD personality
       -o, o, --format <format>
                            user-defined format
        s                   signal format
        u                   user-oriented format
        v                   virtual memory format
        X                   register format
       -y                   do not show flags, show rss vs. addr (used with -l)
           --context        display security context (for SELinux)
           --headers        repeat header lines, one per page
           --no-headers     do not print header at all
           --cols, --columns, --width <num>
                            set screen width
           --rows, --lines <num>
                            set screen height
      
      Show threads:
        H                   as if they were processes
       -L                   possibly with LWP and NLWP columns
       -m, m                after processes
       -T                   possibly with SPID column
      
      Miscellaneous options:
       -c                   show scheduling class with -l option
        c                   show true command name
        e                   show the environment after command
        k,    --sort        specify sort order as: [+|-]key[,[+|-]key[,...]]
        L                   show format specifiers
        n                   display numeric uid and wchan
        S,    --cumulative  include some dead child process data
       -y                   do not show flags, show rss (only with -l)
       -V, V, --version     display version information and exit
       -w, w                unlimited output width
      
              --help <simple|list|output|threads|misc|all>
                            display help and exit
      
      For more details see ps(1).
      [purpleendurer @ bash ~ ]

      ps命令的选项分为基本选项、列表选项、输出格式选项、显示线程选项和杂项五类,如下:

      基本选项

      功能

      -A

      显示所有的进程,包括前台的、后台的、其他用户的进程,跟-e的效果相同

      -a

      显示所有终端下除了session leaders外的所有进程(ssh登录的shell是一种session leader)

      a

      显示所有终端主机下存在的进程,包括session leaders进程

      -d

      显示除了session leaders外的进程

      -e

      显示所有的进程,包括前台的、后台的、其他用户的进程,跟-A的效果相同

      -N

      --deselect

      否定选择

      r

      仅显示终端主机正在执行中的程序

      T

      显示当前终端主机下的所有程序

      -x

      显示所有程序,不以终端机来区分。通常与 a 这个参数一起使用,可列出较完整信息

      列表选项

      功能

      -C <command>

      显示命令名

      -G

      --Group <GID>

      显示真实的组 ID 或名称

      -g

      --group <group>

      显示会话或有效组名称

       -p

      p

      --pid <PID>   

      显示进程ID

      --ppid <PID>  

      显示父进程ID

      -q

      q

      --quick-pid <PID>

      显示进程 id (快速模式)

      -s

      --sid <session>

      显示会话ID

      -t

      t

      --tty <tty>

      显示终端

      -u [<UID>]

      u <UID>

      --user <UID>

      显示指定UID的有效用户的进程状态,未指定UID则显示当前用户的进程状态

      -U <UID>  

      --User <UID>  

      显示指定UID的真实用户的进程状态

      输出格式选项

      功能

           --context

      显示安全上下文(用于 SELinux)

      --cols <num>

      --columns <num>

      设置屏幕宽度

      -F

       

      -f

      把进程的所有信息都显示出来,包括命令行

      f

      --forest

      用ASCII字符显示树状结构

      --format <format>

      用户定义的格式

       -H

      显示进程层次结构

      --headers

      重复标题行,每页一行

       -j

      作业格式

      j

      BSD 作业控制格式

      -l

      较长、较详细的格式

      l

      BSD的长格式

       --lines <num>

      设置屏幕高度

       -M

      添加安全数据(适用于 SELinux)

      --no-headers

      不打印标题

       -O <format> 

      预加载默认列

      O <format>

      与-O相似,但是具有BSD

      -o <format>

      o <format>                 

      与--format 相同,用户定义的格式

      --rows <num>

      设置屏幕高度

        s

      信号格式

        u

      面向用户的格式

        v

      虚拟内存格式

      --width <num>

      设置屏幕宽度

        X

      寄存器格式

       -y

      不显示标志,显示 RSS 与 ADDR(与 -l 一起使用)

      显示线程选项

      功能

        H             

      就好像它们是过程一样

      -L

      可能带有 LWP 和 NLWP 列

      -m

      m

      处理后

      -T

      可能与 SPID 列

      杂项

      功能

      -c

      显示调度类(与-l 选项使用)

      --cumulative

       包括一些死亡子进程数据

      c

      显示真命令名

      e

      命令后显示环境

      --help <simple|list|output|threads|misc|all>

                           

      显示帮助和退出

      k

      将排序顺序指定为: [ + |-] key [ ,[ + |-] key [ ,... ]]

      L

      显示格式说明符

      n

      显示数字 uid 和 wchan

      S

       包括一些死亡子进程数据,与 --cumulative 相同

      --sort

      将排序顺序指定为: [ + |-] key [ ,[ + |-] key [ ,... ]]

      -y

      不显示标志,显示 rss (只与-l配合使用)

      -V

      V

      --version

      显示版本信息并退出

      -w

      w

      无限输出宽度

      2.进程的PID、PPID,PGID和SID

      在Linux中,每个进程都有多个与之关联的 ID,包括:

      2.1 进程 ID (Process ID,PID)

      这是标识进程的任意数字。每个进程都有一个唯一的 ID,但在进程退出并且父进程检索到退出状态后,该进程 ID 将被释放以供新进程重用。

      2.2 父进程 ID (Parent Process ID ,PPID)

      这只是启动相关进程的进程的 PID。如果父进程在子进程之前退出,则子进程的 PPID 将更改为另一个进程(通常为 PID 1)。

      2.3 进程组 ID (Process Group ID,PGID)

      进程组领导者的 PID。如果 PID == PGID,则此进程是进程组的领导者。

      2.4 会话 ID (Session ID,SID)

      这只是会话领导者的 PID。如果 PID == SID,则此进程是会话领导者。

      会话和进程组只是将许多相关进程视为一个单元的方法。进程组的所有成员始终属于同一会话,但一个进程可能具有多个进程组。

      通常,一个 shell 就是一个会话领导者,该 shell 执行的每个命令进程都将是一个进程组。这是为了在shell退出时很容易杀死shell的子进程。

      3 Linux进程的状态

      linux中进程有以下几种状态:

      1. R——Runnable(运行):正在运行或在运行队列中等待。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可执行队列中)。进程调度器的任务就是从各个CPU的可执行队列中分别选择一个进程在该CPU上运行。
      2. S——sleeping(中断):休眠中,受阻,在等待某个条件的形成或接收到信号。处于这个状态的进程因为等待某某事件的发生(比如等待socket连接、等待信号量),而被挂起。这些进程的task_struct结构被放入对应事件的等待队列中。当这些事件发生时(由外部中断触发、或由其他进程触发),对应的等待队列中的一个或多个进程将被唤醒。
      3. D——uninterruptible sleep(不可中断):收到信号不唤醒和不可运行,进程必须等待直到有中断发生。与TASK_INTERRUPTIBLE状态类似,进程处于睡眠状态,但是此刻进程是不可中断的。不可中断,指的并不是CPU不响应外部硬件的中断,而是指进程不响应异步信号。绝大多数情况下,进程处在睡眠状态时,总是应该能够响应异步信号的。
      4. Z——zombie(僵死):进程已终止,但进程描述还在,直到父进程调用wait4()系统调用后释放。这个退出过程中,进程占有的所有资源将被回收,除了task_struct结构(以及少数资源)以外。于是进程就只剩下task_struct这么个空壳,故称为僵尸。之所以保留task_struct,是因为task_struct里面保存了进程的退出码、以及一些统计信息。而其父进程很可能会关心这些信息。比如在shell中,$?变量就保存了最后一个退出的前台进程的退出码,而这个退出码往往被作为if语句的判断条件。
      5. T——traced or stoppd(停止):进程收到SiGSTOP,SIGSTP,SIGTOU信号后停止运行。对于进程本身来说,TASK_STOPPED和TASK_TRACED状态很类似,都是表示进程暂停下来。
        而TASK_TRACED状态相当于在TASK_STOPPED之上多了一层保护,处于TASK_TRACED状态的进程不能响应SIGCONT信号而被唤醒。只能等到调试进程通过ptrace系统调用执行PTRACE_CONT、PTRACE_DETACH等操作(通过ptrace系统调用的参数指定操作),或调试进程退出,被调试的进程才能恢复TASK_RUNNING状态。
      6. W: 进入内存交换(从内核2.6开始无效)
      7. X——TASK_DEAD – EXIT_DEAD(死亡的任务-退出死亡):退出状态,进程即将被销毁。进程将被置于EXIT_DEAD退出状态,这意味着接下来的代码立即就会将该进程彻底释放。所以EXIT_DEAD状态是非常短暂的,几乎不可能通过ps命令捕捉到。
      8. <:   高优先级
      9. N:  低优先级
      10. L:  有些页被锁进内存
      11. s:   包含子进程
      12. \+: 位于后台的进程组
      13. l   : 多线程,克隆线程

      4 ps 命令实例

      4.1  ps -A

      [purpleendurer @ bash ~] ps -A
          PID TTY          TIME CMD
            1 pts/0    00:00:00 zsh
           47 pts/1    00:00:00 zsh
           72 pts/2    00:00:00 zsh
          100 pts/1    00:00:00 bash
          115 pts/3    00:00:00 zsh
          142 pts/4    00:00:00 zsh
          169 pts/5    00:00:00 zsh
          194 pts/6    00:00:00 zsh
          222 pts/6    00:00:00 bash
          237 pts/6    00:00:00 ps
      [purpleendurer @ bash ~]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      命令列出了10条进程信息 

      包括4列内容,其中:

      1. PID:进程ID
      2. TTY:与进程关联的终端,涵盖pts/0~pts/6。如果是?,就是与终端无关的进程,即后台服务,意味着它不依赖于终端。
      3. TIME:进程从触发开始所运行的时间
      4. CMD:启动进程的命令

      4.2 ps -a

      [purpleendurer @ bash ~] ps -a
          PID TTY          TIME CMD
          100 pts/1    00:00:00 bash
          222 pts/6    00:00:00 bash
          238 pts/6    00:00:00 ps
      [purpleendurer @ bash ~]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      与2.1相比,命令列只出了3个进程,TTY分别为pts/1、pts/6。

      4.3 ps a

      [purpleendurer @ bash ~] ps a
          PID TTY      STAT   TIME COMMAND
            1 pts/0    Ss+    0:00 /bin/zsh
           47 pts/1    Ss     0:00 /bin/zsh
           72 pts/2    Ss+    0:00 /bin/zsh
          100 pts/1    S+     0:00 bash
          115 pts/3    Ss+    0:00 /bin/zsh
          142 pts/4    Ss+    0:00 /bin/zsh
          169 pts/5    Ss+    0:00 /bin/zsh
          194 pts/6    Ss     0:00 /bin/zsh
          222 pts/6    S      0:00 bash
          239 pts/6    R+     0:00 ps a
      [purpleendurer @ bash ~]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      命令列出了10个进程 ,数量与 2.1相同,比2.2 不仅多了7个进程信息,包括了TTY值为pts/0、pts/2、pts/3、pts/4和pts/5的进程信息,而且在信息项数量上,也多了1列,即:

      STAT(即:状态)。

      4.4 ps -d

      [purpleendurer @ bash ~ ]ps -d
          PID TTY          TIME CMD
          102 pts/1    00:00:00 bash
          115 pts/1    00:00:00 ps
      [purpleendurer @ bash ~ ]ps -a
          PID TTY          TIME CMD
          102 pts/1    00:00:00 bash
          116 pts/1    00:00:00 ps
      [purpleendurer @ bash ~ ]

       

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      从命令返回信息来看,-d 和 -a选项还是有一些差别的。

      4.5 ps -f

      [purpleendurer @ bash ~ ]ps -f
      UID          PID    PPID  C STIME TTY          TIME CMD
      csdn          47       0  0 23:24 pts/1    00:00:00 /bin/zsh
      csdn         106      47  0 23:24 pts/1    00:00:00 bash
      csdn         120     106  0 23:24 pts/1    00:00:00 ps -f
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      返回的信息中有8列,其中多出的3列是:

      1. PPID  :父进程ID
      2. C        : CPU?
      3. STIME:进程触发的时间

       通过对比PID和PPID,我们可以看出进程之间的父子衍生关系。

      2.5 ps -F

      [purpleendurer @ bash ~ ]ps -F
      UID          PID    PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
      csdn          47       0  0 10039  5044   0 23:24 pts/1    00:00:00 /bin/zsh
      csdn         106      47  0  3781  3488   0 23:24 pts/1    00:00:00 bash
      csdn         119     106  0 13763  3808   0 23:24 pts/1    00:00:00 ps -F

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      返回信息包括11列,比 2.4 多了3列:

      1. SZ  :进程核心映像的页面大小
      2. RSS:驻留空间的大小。显示当前常驻内存的程序的K字节数。
      3. PSR:绑定内核线程的处理器(如果有)的逻辑处理器号

      4.6 ps -aux

      [purpleendurer @ bash ~ ]ps -aux
      USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
      csdn           1  0.0  0.1  40356  5140 pts/0    Ss+  00:02   0:00 /bin/zsh
      csdn          46  0.0  0.1  40156  4956 pts/1    Ss+  00:02   0:00 /bin/zsh
      csdn          70  0.0  0.1  40156  5024 pts/2    Ss+  00:02   0:00 /bin/zsh
      csdn          98  0.0  0.1  40156  4888 pts/3    Ss+  00:13   0:00 /bin/zsh
      csdn         123  0.0  0.1  40156  5016 pts/4    Ss+  00:13   0:00 /bin/zsh
      csdn         152  0.0  0.1  40156  5044 pts/5    Ss   00:24   0:00 /bin/zsh
      csdn         177  0.0  0.1  40156  4944 pts/6    Ss+  00:24   0:00 /bin/zsh
      csdn         205  0.0  0.0  15124  3404 pts/5    S    00:24   0:00 bash
      csdn         219  0.0  0.1  55052  3912 pts/5    R+   00:26   0:00 ps -aux
      [purpleendurer @ bash ~ ]

       

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

       返回的信息共有11列,其中:
       

      1. %CPU :      进程的cpu占用率
      2. %MEM:       进程使用内存的百分比
      3. VSZ     :       进程使用的虚拟内存大小,以K为单位

      4.7 ps -ef

      [purpleendurer @ bash ~ ]ps -ef
      UID          PID    PPID  C STIME TTY          TIME CMD
      csdn           1       0  0 00:02 pts/0    00:00:00 /bin/zsh
      csdn          46       0  0 00:02 pts/1    00:00:00 /bin/zsh
      csdn          70       0  0 00:02 pts/2    00:00:00 /bin/zsh
      csdn          98       0  0 00:13 pts/3    00:00:00 /bin/zsh
      csdn         123       0  0 00:13 pts/4    00:00:00 /bin/zsh
      csdn         152       0  0 00:24 pts/5    00:00:00 /bin/zsh
      csdn         177       0  0 00:24 pts/6    00:00:00 /bin/zsh
      csdn         205     152  0 00:24 pts/5    00:00:00 bash
      csdn         218     205  0 00:24 pts/5    00:00:00 ps -ef
      [purpleendurer @ bash ~ ]

      Linux shell编程学习笔记59: ps 获取系统进程信息,类似于Windows系统中的tasklist 命令

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/endurer/11315209,作者:PurpleEndurer,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:利用eval()打造通用的checkbox全选、全部取消、反选函数升级版+3

      下一篇:更改用户host留下的坑

      相关文章

      2025-05-19 09:04:22

      loki仿函数原理

      loki仿函数原理

      2025-05-19 09:04:22
      lt , void
      2025-05-16 09:15:17

      多源BFS问题(1)_01矩阵

      多源BFS问题(1)_01矩阵

      2025-05-16 09:15:17
      lt , 矩阵 , 遍历
      2025-05-16 09:15:17

      BFS解决拓扑排序(1)_课程表

      BFS解决拓扑排序(1)_课程表

      2025-05-16 09:15:17
      lt , 课程 , 队列
      2025-05-16 09:15:17

      BFS解决最短路问题(4)_为高尔夫比赛砍树

      BFS解决最短路问题(4)_为高尔夫比赛砍树

      2025-05-16 09:15:17
      BFS , lt , 复杂度 , 算法
      2025-05-16 09:15:10

      Linux系统基础-进程信号超详细讲解

      Linux系统基础-进程信号超详细讲解

      2025-05-16 09:15:10
      kill , 信号 , 命令 , 进程
      2025-05-16 09:15:10

      52.介绍AOP有几种实现方式

      52.介绍AOP有几种实现方式

      2025-05-16 09:15:10
      gt , lt , Spring
      2025-05-16 09:15:10

      C语言练习之猜名次-----A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;

      C语言练习之猜名次-----A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;

      2025-05-16 09:15:10
      amp , lt , 排名
      2025-05-14 10:02:58

      Linux top 命令使用教程

      Linux top 是一个在Linux和其他类Unix 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。

      2025-05-14 10:02:58
      CPU , 信息 , 内存 , 占用 , 备注 , 进程
      2025-05-13 09:51:29

      ogg在启动应用进程时报错OGG-00412

      ogg在启动应用进程时报错OGG-00412

      2025-05-13 09:51:29
      ogg , OGG , 时报 , 进程
      2025-05-13 09:51:17

      无法启动ogg配置好的抓取以及投递进程

      无法启动ogg配置好的抓取以及投递进程

      2025-05-13 09:51:17
      ogg , 启动 , 抓取 , 进程
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5244359

      查看更多

      最新文章

      C语言练习之猜名次-----A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;

      2025-05-16 09:15:10

      52.介绍AOP有几种实现方式

      2025-05-16 09:15:10

      函数索引测试

      2025-05-13 09:50:48

      磁盘组扩容测试01

      2025-05-13 09:50:38

      存在重复元素 II-128. 最长连续序列

      2025-05-12 08:58:16

      代码 测试用例 测试用例 测试结果 删除有序数组中的重复项

      2025-05-09 08:51:21

      查看更多

      热门文章

      C#进程通信

      2023-04-11 10:47:12

      驱动开发:内核封装WSK网络通信接口

      2024-07-01 01:32:23

      驱动开发:内核监控进程与线程回调

      2024-07-01 01:32:23

      C/C++ 获取线程入口地址模块等

      2023-06-16 06:03:57

      C/C++ 获取进程完整目录

      2023-06-19 07:02:24

      驱动开发:监控进程与线程对象操作

      2023-06-16 06:05:40

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      【数据结构】遍历二叉树(递归思想)-->赋源码

      Javascript算法题(二)

      python知识点总结-match、search、group、groups、findall的区别

      【C++动态规划】3196. 最大化子数组的总成本|1846

      C/C++ 判断进程是否存在

      【C++并集查找 图论】1202. 交换字符串中的元素|1855

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号