ps----查看系统进程

简介

原文链接:https://culturesun.site/index.php/archives/263.html

ps命令经常用,但是从来没有系统学习。
而且,在不同的Linux发行版系统中,ps命令的使用也是有略微差别的。

详解

使用ps --help命令查看帮助文档

┌──(root㉿kali)-[~]
└─# 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).
                                                                                                                                                                                                                                           
┌──(root㉿kali)-[~]
└─# 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).
                                                                                                                                                                                                                                           
┌──(root㉿kali)-[~]
└─# ps --help s     

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).

ps命令的模块较多,要使用ps --help 模块名,如上述的ps --help simple(可简称s)

常用参数

---|---
-a| 显示所有进程,包括其他用户的进程。
-u| 显示指定用户的进程信息。
-x| 显示所有进程,包括没有控制终端的进程。
-e| 显示所有进程,等同于ps -A。
-f| 显示进程的详细信息,包括进程的UID、PPID、CPU占用率等。
-l| 显示进程的长格式信息,包括进程的UID、PPID、CPU占用率、内存占用率等。
-p| 显示指定进程号的进程信息。

除上述简单参数,还有一些高级参数

  1. --sort
    用于指定进程信息的排序方式。可以使用以下参数值:

---|----
%cpu| 按照CPU占用率排序。
%mem| 按照内存占用率排序。
pid |按照进程号排序。
ppid| 按照父进程号排序。
start_time| 按照进程启动时间排序。
time| 按照进程运行时间排序。

例如,要按照CPU占用率从高到低排序显示所有进程的信息,可以使用命令:
ps -eo pid,ppid,cmd,%cpu --sort=-%cpu
该命令会显示所有进程的PID、PPID、命令和CPU占用率,并按照CPU占用率从高到低排序。

  1. --forest
    用于显示进程树,包括进程的父子关系。还有一个与之类似的命令----pstree,也是查看进程树。
    例如,要显示所有进程的进程树,可以使用命令:
    ps -ef --forest
    该命令会显示所有进程的进程树,包括进程的父子关系。
  2. --headers
    用于显示进程信息的表头。
    例如,要显示所有进程的PID、PPID、命令和CPU占用率,并显示表头,可以使用命令:
    ps -eo pid,ppid,cmd,%cpu --headers
    该命令会显示所有进程的PID、PPID、命令和CPU占用率,并显示表头。
  3. no-headers
    用于不显示进程信息的表头。
    例如,要显示所有进程的PID、PPID、命令和CPU占用率,并不显示表头,可以使用命令:
    ps -eo pid,ppid,cmd,%cpu --no-headers
    该命令会显示所有进程的PID、PPID、命令和CPU占用率,并不显示表头。
  4. --user
    用于指定要查看的用户的进程信息。
    例如,要查看用户root的进程信息,可以使用命令:
    ps -u root
    该命令会显示用户root的进程信息。

使用技巧

  1. 使用grep命令过滤进程信息
    有时候,我们只需要查看某个进程或者某个用户的进程信息,可以使用grep命令来过滤进程信息。例如,要查看所有以nginx开头的进程信息,可以使用命令:
ps -ef | grep nginx

该命令会先使用ps -ef命令显示所有进程的详细信息,然后使用grep命令过滤出所有以nginx开头的进程信息。

  1. 使用watch命令实时查看进程信息
    有时候,我们需要实时查看进程的信息,可以使用watch命令实现。例如,要实时查看所有进程的CPU占用率,可以使用命令:
watch -n 1 'ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head'

该命令会每秒钟执行一次ps命令,显示所有进程的PID、PPID、命令和CPU占用率,并按照CPU占用率从高到低排序,然后只显示前10行。

  1. 使用top命令查看进程信息
    top命令是一个非常强大的进程查看工具,可以实时查看进程的信息。可以使用top命令来查看进程的CPU占用率、内存占用率等信息。例如,要查看所有进程的CPU占用率,可以使用命令:
top

该命令会实时显示所有进程的CPU占用率、内存占用率等信息,并按照CPU占用率从高到低排序。

  1. 使用pstree命令查看进程树
    pstree命令可以显示进程树,包括进程的父子关系。例如,要查看所有进程的进程树,可以使用命令:
pstree

该命令会显示所有进程的进程树,包括进程的父子关系。

  1. 使用pidof命令查找进程号
    pidof命令可以根据进程名查找进程号。例如,要查找nginx进程的进程号,可以使用命令:
pidof nginx

该命令会显示nginx进程的进程号。

结语

学无止境啊!!!

posted @   释缘。  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示