linux进程查看和管理

在 Linux 系统中,查看进程是系统管理和故障排查中的重要任务。Linux 提供了多种工具和命令来查看和管理进程,以下是一些常用的命令及其用法。

1. ps 命令

ps(Process Status)命令用于显示当前系统中运行的进程的状态信息。

基本语法
ps [选项]
常用选项
  • -e-A:显示系统中所有进程。
  • -f:显示完整格式的进程信息,包括用户、进程 ID、父进程 ID、CPU 时间等。
  • -u:按用户过滤进程。
  • -x:显示没有控制终端的进程(例如后台运行的进程)。
  • -o:自定义输出格式。
示例
  • 查看所有进程

    ps -e
    
  • 查看完整格式的进程信息

    ps -ef
    

    输出示例:

    复制

    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 Jan20 ?        00:00:01 /sbin/init
    user1      123     1  0 12:34 pts/0    00:00:00 /bin/bash
    user2      456   123  0 12:35 pts/0    00:00:00 ps -ef
    
  • 按用户过滤进程

    ps -u username
    
  • 自定义输出格式

    ps -eo pid,comm,pcpu,pmem
    

    输出示例:

    复制

    PID COMMAND  %CPU %MEM
      1 systemd  0.0  0.1
    123 bash     0.0  0.2
    456 ps       0.1  0.1
    

2. top 命令

top 命令用于实时显示系统中占用资源最多的进程。它是一个交互式命令,可以动态更新进程信息。

基本语法

bash复制

top
功能
  • 动态更新:默认情况下,top 每隔几秒刷新一次。
  • 排序:可以通过按键(如 P 按 CPU 使用率排序,M 按内存使用率排序)调整显示顺序。
  • 退出:按 q 键退出。

3. htop 命令

htop 是一个更高级的进程查看工具,提供了更丰富的交互式界面和功能。它通常需要单独安装。

安装

bash复制

sudo apt-get install htop  # Debian/Ubuntu
sudo yum install htop      # CentOS
使用

bash复制

htop
功能
  • 彩色显示:更直观地显示进程信息。
  • 交互式操作:可以通过键盘操作(如 F5 显示树形结构,F9 杀死进程等)。
  • 自定义列:可以根据需要显示或隐藏某些列。

4. pgreppkill 命令

pgreppkill 命令用于根据进程名称或其他属性查找或操作进程。

pgrep:查找进程

返回的是PID

bash复制

pgrep [选项] [进程名]
  • -u:按用户过滤。
  • -f:匹配完整的命令行。
示例
  • 查找所有名为 bash 的进程

    pgrep bash
    
  • 查找用户 user1 的所有 bash 进程

    pgrep -u user1 bash
    
pkill:发送信号到进程
pkill [选项] [进程名]
  • -u:按用户过滤。
  • -f:匹配完整的命令行。
  • -9:强制杀死进程(发送 SIGKILL 信号)。
示例
  • 杀死所有名为 bash 的进程

    pkill bash
    
  • 强制杀死用户 user1 的所有 bash 进程

    pkill -u user1 -9 bash
    

5. pstree 命令

pstree 命令以树形结构显示进程之间的层次关系,方便查看进程的父子关系。

基本语法
pstree [选项]
示例
pstree

输出示例:

init-+-bash---pstree
     |-sshd---bash---vim
     |-systemd-journald
     |-systemd-udevd
     `-...

6. killkillall 命令

killkillall 命令用于向进程发送信号,通常用于终止进程。

kill:通过进程 ID 发送信号
kill [选项] [PID]
  • -9:强制杀死进程(发送 SIGKILL 信号)。
示例
  • 终止进程 ID 为 1234 的进程

    kill 1234
    
  • 强制终止进程 ID 为 1234 的进程

    kill -9 1234
    
killall:通过进程名称发送信号
killall [选项] [进程名]
  • -9:强制杀死进程。
示例
  • 终止所有名为 bash 的进程

    killall bash
    
  • 强制终止所有名为 bash 的进程

    killall -9 bash
    

总结

  • ps:查看静态的进程信息。
  • tophtop:实时查看和交互式管理进程。
  • pgreppkill:根据名称查找和操作进程。
  • pstree:以树形结构显示进程关系。
  • killkillall:终止进程。

这些工具和命令组合使用,可以满足大多数进程查看和管理的需求。

附加:各个参数的含义和作用

UID (User ID)

  • 含义:用户 ID,表示运行该进程的用户的身份。
  • 作用:用于标识进程的所有者。每个用户在系统中都有一个唯一的用户 ID。

PID (Process ID)

  • 含义:进程 ID,是系统分配给每个进程的唯一标识符。
  • 作用:用于唯一标识系统中的每个进程。

PPID (Parent Process ID)

  • 含义:父进程 ID,表示创建该进程的父进程的 PID。
  • 作用:用于标识进程的父子关系。每个进程都有一个父进程(除了 init 进程,其父进程 ID 为 0)。

C (CPU Usage)

  • 含义:CPU 使用率,表示进程占用的 CPU 时间。
  • 作用:用于显示进程的 CPU 使用情况,通常是一个相对值。

STIME (Start Time)

  • 含义:启动时间,表示进程启动的时间。
  • 作用:用于显示进程的启动时间,通常显示为月/日/时间或年份。

TTY (Terminal)

  • 含义:终端,表示进程关联的终端设备。
  • 作用:用于显示进程运行的终端设备。如果进程没有关联终端,则显示为 ?

TIME (CPU Time)

  • 含义:CPU 时间,表示进程占用的 CPU 时间总和。
  • 作用:用于显示进程占用的 CPU 时间,通常以 [小时]:[分钟]:[秒] 的格式显示。

CMD (Command)

  • 含义:命令,表示启动该进程的命令行。
  • 作用:用于显示启动该进程的完整命令行,包括参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值