如何查看以及如何杀死进程。

本文介绍了如何在Linux环境下使用ps命令查看进程信息以及使用kill命令来结束指定的进程。演示了普通结束进程与强制结束进程的不同用法。


[heshuilong@FQDN ~]$ ps           //查看进程:ps
   PID TTY          TIME CMD
  4844 pts/0    00:00:00 bash
  4882 pts/0    00:00:00 ps
[heshuilong@FQDN ~]$ kill 4844   //结束进程:kill +进程PID
[heshuilong@FQDN ~]$ ps
   PID TTY          TIME CMD
  4844 pts/0    00:00:00 bash
  4912 pts/0    00:00:00 ps
[heshuilong@FQDN ~]$ kill -9 4844  //强制结束进程:kill -9+进程PID
[heshuilong@FQDN ~]$ ps
   PID TTY          TIME CMD
  4928 pts/0    00:00:00 bash
  4966 pts/0    00:00:00 ps


<think>我们有两个任务:1. 查看运行中的进程列表;2. 终止指定进程。 根据用户需求,我们需要展示如何查看进程列表(包括多种方式)以及如何终止指定进程。 参考引用: 引用[1]提供了查看进程的多种方法,包括快速查看运行中的进程列表、查看所有用户的所有进程、显示完整格式、动态显示、根据进程名查找进程ID、树状显示进程关系等。 引用[2]提到了top命令可以动态显示进程信息,并解释了进程状态标志。 引用[3]提到ps命令是强大的进程查看命令,可以确定进程的运行状态、是否结束、是否僵死以及资源占用情况。 因此,我们将结合这些方法,提供多种查看进程的方式,并介绍如何终止进程。 步骤: 1. 查看进程列表 a. 使用ps命令快速查看运行中的进程(常用组合) b. 使用top命令动态查看 c. 根据进程名查找进程ID(pgrep) d. 树状显示进程(pstree) 2. 终止进程 a. 使用kill命令通过PID终止 b. 使用killall或pkill通过进程名终止 注意:终止进程需要谨慎,确保终止的是正确的进程。 下面开始详细说明。</think>### Linux 查看进程列表并终止指定进程 在Linux系统中,查看运行中的进程并终止指定进程是常见的管理任务。以下是详细的操作指南,分为**进程查看**和**进程终止**两部分,结合多种命令满足不同需求。 --- ### 一、查看进程列表 #### 1. 快速查看运行中的进程(基础) ```bash ps aux ``` - **说明**: - `a`:显示所有用户进程 - `u`:显示详细用户/资源信息 - `x`:包括未关联终端的进程(如后台服务) - **输出示例**: ```bash USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 169316 13184 ? Ss Aug01 0:12 /sbin/init mysql 1234 0.5 5.2 2123456 420000 ? Sl Aug01 50:20 /usr/sbin/mysqld ``` - **关键列**: `PID`(进程ID)、`COMMAND`(进程名)、`STAT`(进程状态)[^2]。 #### 2. 动态监控进程(实时资源查看) ```bash top ``` - **功能**: 实时刷新显示CPU/内存占用最高的进程,按`P`(CPU排序)或`M`(内存排序)[^1]。 - **退出**:按`q`键。 #### 3. 按进程名精确查找 ```bash pgrep -l nginx # 查找名为"nginx"的进程及PID ``` 或 ```bash ps -ef | grep nginx ``` - **输出示例**: ``` 5678 nginx: worker process ``` #### 4. 树状显示父子进程关系 ```bash pstree -p # 显示PID的进程树 ``` - **示例输出**: ``` systemd(1)─┬─nginx(5678)─┬─nginx(5679) │ └─nginx(5680) └─mysql(1234) ``` --- ### 二、终止指定进程 #### 1. 通过PID终止进程 ```bash kill PID # 默认发送SIGTERM(15),允许进程清理退出 kill -9 PID # 强制终止(SIGKILL),用于无响应进程 ``` **示例**: ```bash kill 5678 # 终止PID=5678的进程 kill -9 5678 # 强制终止 ``` #### 2. 通过进程名终止进程 ```bash pkill nginx # 终止所有名为"nginx"的进程 killall nginx # 同上(需安装util-linux包) ``` **注意**: - 使用前务必通过`pgrep -l nginx`确认进程名,避免误杀。 #### 3. 终止进程树(包含子进程) ```bash kill -- -PID # 终止进程组(需在PID前加"-") ``` **示例**: ```bash kill -- -5678 # 终止PID=5678及其所有子进程 ``` --- ### 三、操作验证 1. **终止前检查**: ```bash ps -p 5678 -o comm= # 确认进程名 ``` 2. **终止后验证**: ```bash ps aux | grep nginx # 检查进程是否消失 ss -tuln | grep 80 # 检查进程占用的端口是否释放 ``` --- ### 注意事项 1. **权限要求**:终止其他用户的进程需`sudo`权限(如`sudo kill 1234`)。 2. **谨慎使用`kill -9`**:强制终止可能导致数据丢失,仅在进程无响应时使用[^3]。 3. **系统进程保护**:勿随意终止`systemd`(PID=1)等核心进程,否则系统可能崩溃。 通过以上方法,您可高效管理Linux进程。若需批量操作,可通过脚本结合`pgrep`和`kill`实现自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值