目录

linux运维常用命令[更新中]

介绍linux运维常用命令操作

僵尸进程查看

  1. ps -e -o stat,ppid,pid,cmd|egrep ‘^[Zz]’

ps:ps命令用于获取当前系统的进程信息.

-e:参数用于列出所有的进程

-o:参数用于设定输出格式,这里只输出进程的stat(状态信息)、ppid(父进程pid)、pid(当前进程的pid),cmd(即进程的可执行文件。

egrep:是linux下的正则表达式工具

‘^[Zz]':这是正则表达式,^表示第一个字符的位置,[Zz],表示z或者大写的Z字母,即表示第一个字符为Z或者z开头的进程数据,只所以这样是因为僵尸进程的状态信息以Z或者z字母开头。

  1. ps -ef | grep “defunct”
1
ps -e -o stat,ppid,pid,cmd|egrep '^[Zz]'
1
ps -ef | grep "defunct" 

僵尸进程删除

  1. 查看系统是否有僵尸进程 top

使用Top命令查找,当zombie前的数量不为0时,即系统内存在相应数量的僵尸进程

  1. 定位僵尸进程

使用命令ps -A -ostat,ppid,pid,cmd |grep -e ‘^[Zz]‘定位僵尸进程以及该僵尸进程的父进程

1
ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'
  1. 使用Kill -HUP 僵尸进程ID来杀死僵尸进程,往往此种情况无法杀死僵尸进程,此时就需要杀死僵尸进程的父进程

kill -HUP 僵尸进程父ID

1
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
  1. 参数解读
1
ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'

-A 参数列出所有进程

-o 自定义输出字段 stat(状态)、ppid(进程父id)、pid(进程id)、cmd(命令)

因为状态为z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程