在Linux系统中查看进程及杀死僵尸进程的方法

在Linux系统中查看进程可以使用`ps`命令,例如:

```bash
ps aux
```

要查看僵尸进程,可以使用`pgrep`或`ps`命令结合特定条件。僵尸进程通常具有一个父进程已经结束但其子进程(即僵尸进程)尚未被父进程回收的状态。僵尸进程可以通过以下命令找到:

```bash
ps aux | grep 'Z'
```

或者

```bash
pgrep -l -s 0 -u <用户名>
```

要杀死僵尸进程,直接杀死僵尸进程是没有意义的,因为僵尸进程是由于其父进程结束而产生的。正确的做法是找到并结束导致子进程变为僵尸的父进程。如果确实需要结束某个僵尸进程,可以尝试使用以下命令:

```bash
kill
```

但请注意,这通常不会有效,因为僵尸状态是由于父进程结束而无法回收子进程的状态。

建议检查并修复导致子进程无法正常退出的原因。


ps 命令


ps 命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态、 进程 是否结束、进程有没有僵死、哪些进程占用了过多地资源等等.总之大部分信息均为可以通过执行该命令得到地.


ps 命令及其参数


ps 命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设


备进行通信地,所以如果需要检测其情况,便可以运用 ps 命令了.


该命令语法格式如下:


ps [选项]


-e 显示所有进程,环境变量


-f 全格式


-h 不显示标题


-l 长格式


-w 宽输出


a


显示终端上地所有进程,包括其他用户地进程


r


只显示正在运行地进程


x


显示没有控制终端地进程


O[+|-] k1 [,[+|-] k2 [,…]] 根据 SHORT KEYS、k1、k2 中快捷键指定地多级排序顺序显示进程列表.


对于 ps 地不同格式都存在着默认地顺序指定.这些默认顺序可以被用户地指定所覆盖.在这里面“+”字符是可选地,“-” 字符是倒转指定键地方向.


pids 只列出进程标识符,之间运用逗号分隔.该进程列表必须在命令行参数地最后一个选项后面紧接着给出,中间不能插入 空格.比如:ps -f1,4,5.


以下介绍长命令行选项,这些选项都运用“--”开头:


--sort X[+|-] key [,[+|-] key [,…]] 从 SORT KEYS 段中选一个多字母键.“+”字符是可选地,因为默认地方向就是按 数字升序或者词典顺序.比如: ps -jax -sort=uid,-ppid,+pid.


--help 显示帮助信息.


--version 显示该命令地版本信息.


在前面地选项说明中提到了排序键,接下来对排序键作进一步说明.需要注意地是排序中运用地值是 ps 运用地内部值,并非 仅用于某些输出格式地伪值.排序键列表见表 4-3.


排序键列表


c


cmd


可执行地简单名称


C


cmdline


完整命令行


f


flags


长模式标志


g


pgrp


进程地组 ID


G


tpgid


控制 tty 进程组 ID


j


cutime


累计用户时间


J


cstime


累计系统时间


k


utime


用户时间


K


stime


系统时间


m


min_flt


次要页错


查找Zombie进程


首先,当桌面程序卡死的时候,你可以尝试进入其他tty终端。切换方式:ctrl + alt + [1,2,3,4,5,6,7],7是桌面终端


其次,你可以使用top命令查看当前是否有Zombie进程






从上图可以看到僵尸进程数,num zombie,num大于0,则代表系统存在僵尸进程


最后,利用ps命令查找Zombie进程


复制代码


代码如下:


ps -A -ostat,ppid,pid,cmd | grep -e '^[zZ]'


示例 :






杀死Zombie进程


直接kill -9 Zombiepid是没有作用的,原因是:Zombie表示进程已经退出,想要清理这样的进程,需要清除其父进程或者等很长时间后内核将其清除


复制代码


代码如下:


kill -HUP ppid


后记


不知道为什么我注销之后重新登录还有这个僵尸进程,怀疑是否是LightDM的bug,不过Ubuntu12.04 desktop display manager就是LightDM,所以kill -HUP至少起到了注销的作用,不用重启了

相关推荐

  • CentOS如何查看进程运行的完整路径?CentOS查看进程运行的完整路径方法

    CentOS如何查看进程运行的完整路径?CentOS查看进程运行的完整路径方法 通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息: Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls –l命令即可查看. ll /proc/PID cwd符号链接的是进程运行目录: exe符号连接就是执行程序的绝对路径: cmdline就是程序运行时输入的命令行命令: environ ...

  • Linux系统中使用nmcli查看网络配置方法

    Linux系统中使用nmcli查看网络配置方法 相信很多小伙伴都有在使用Linux系统,那么在其中我们怎么通过使用nmcli命令来查看网络配置呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,在电脑上将Linux系统打开,进入该系统的终端窗口.2. 使用nmcli命令"nmcli con show",就能将所有连接显示.3. 使用nmcli命令"nmcli con show "System eth0",就能将活动的所有配置设置显示.4. 使用nmcli命令"nmcli d ... ...

  • “三屏异显”办公模式怎么设置

    “三屏异显”办公模式怎么设置 数字办公盛行的当下,海量数据"堆积如山","单屏显示"所承载的信息量有限,特别影响职场白领们的办公效率.此情景下,"多屏异显"这种能够承载庞大信息量的豪横办公模式走近大众的视野,并迅速脱颖而出,深受市场认可与用户青睐.特别是对于金融行业的用户来说,多屏幕分区监控股市数据,更有利于洞察股市先机,掌握全局信息.那么,"多屏异显"到底是如何做到的呢?接下来,小优就和大家演示一下1台笔记本电脑连接2个显示屏实现"三 ... ...

  • Linux 查看进程 关闭进程

    Linux 查看进程 关闭进程 使用Linux服务器,最常用的就是查看后台进程.关闭不用的进程 启动一个进程 01 先启动一个进程作为测试使用 查看启动的进程 01 可以使用以面命令来查看 ps -ef |grep tomcat 02 tomcat它是一个Java进程,所以查找Java进程也可查找出来 ps -ef|grep java 03 可以看到 用户  和进程编号 可以用kill 进程编号结束进程 结束进程 01 不所有进程都可以 kill+进程编号结束掉 对于结束不掉的进程可以使用: kill -s 9 进程编号 强制 ...

  • linux命令大全之ps命令详解(查看进程结果)

    linux命令大全之ps命令详解(查看进程结果) Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行 ...

  • 平安信用卡怎么在APP上注销(平安一账通如何注销账户)

    平安信用卡怎么在APP上注销(平安一账通如何注销账户) 一.直接电话注销,可以拨打信用卡后背的95511信用卡热线,接着转到人工服务.二.跟客服说明需要注销信用卡,一般在这个时候,客服是会尽力挽留你不要注销信用卡.这个时候自己的态度要很坚决.三.可以找很多理由说明不想使用信用卡,不用要给客服反驳机会,也不要不好意思.比如说要准备去西部哪里用不上卡,或者是说在用卡过程遇到各种麻烦.四.这个时候就会进行验证你的个人信息,进行操作注销信用卡.根据客服提示进行验证即可,一般据为验证你的身份证资料,和卡的密码.五.在注销前我们还需要把信用卡的欠款都还清楚,不然 ...