linux
  • Introduction
  • Yum
    • 基础yum源的配置
    • 为yum源配置代理
    • Centos指定版本的yum源
    • 环境变量
    • 本地yum源
    • 制作yum源
      • 同步yum源
    • epel源
  • Iptables
    • 基本匹配条件
    • Match-Extensions
      • Addrtype
      • Set
      • TCP
    • Target-Extensions
      • DNAT
      • LOG
    • Iptables规则持久化
    • 连接追踪
  • LVS
    • Ipvsadm命令
  • 磁盘与分区
    • 创建分区
    • 格式化与挂载
    • fstab
    • LVM
      • LVM扩容
    • swap分区
    • tmpfs
  • 网络相关
    • 重命名网卡
    • resolv.conf
    • Tcpdump
    • dig与nslookup
  • Other
    • CPU与内存
    • 进程
      • 僵尸进程
    • SSH密钥登录
    • 用户管理
    • Crontab
  • Nofile
    • 原理
  • 常用软件安装篇
    • MYSQL
    • 系统与内核
      • 指定内核启动
    • NFS
    • Haproxy
    • Keepalived
    • Squid
    • Redsocks
    • Shadowsocks
    • 时钟同步
  • 内存
Powered by GitBook
On this page

Was this helpful?

  1. Other
  2. 进程

僵尸进程

Previous进程NextSSH密钥登录

Last updated 5 years ago

Was this helpful?

Q:什么是僵尸进程?

一个进程任务结束调用exit命令主动退出的时候,操作系统会释放其占用的内存、打开文件等资源。该进程已经处于非活动状态,不会执行任何的任务;但它并没有真正的被销毁,而是变成了一个僵尸进程,占据着一个Pid。只有当该进程的父进程通过系统调用(wait/waitpid)获取子进程的状态时,这个进程才会真正的结束,释放掉Pid。

所以,僵尸进程即进程已经主动退出,但还没有被父进程通过系统调用来释放Pid。

Q:如何查看僵尸进程?

1、使用top命令,可以查看系统中僵尸进程的数量

2、使用ps -aux | grep Z命令,STAT为Z的进程就是僵尸进程

Q:为什么会产生僵尸进程?

程序Bug,或者用户的一些非常用操作

Q:如何处理僵尸进程?

1、执行命令kill -s SIGCHILD <PPID>,通过父进程回收已经退出的子进程 2、杀掉父进程kill -9 <PPID> 3、重启系统

Q:父进程为1的僵尸进程?