当前位置: 首页 > news >正文

【Linux】进程问题--僵尸进程

僵尸进程

  • 概念:僵尸进程是子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程
  • 僵尸进程:由于各种原因导致某个进程挂掉了,但是进程本身仍然存在,还占用系统资源,这种异常进程就是僵尸进程
    • 查找:ps aux 过滤,Z状态即可找出僵尸进程,或者 top 命令查看
    • 解决:
      • 找出僵尸进程的上级进程,结束进程即可
      • 如果上级进程是主进程(pid 为 1 的进程),则需要重启 Linux 系统
      • 在这里插入图片描述

模拟僵尸进程

# c 语言编译器
yum install -y gcc
# zombie.c 代码
#include <sys/types.h>
#include <sys/wait.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>/** 描述:用于模拟僵尸进程的代码*/
int main(int argc, char *argv[])
{pid_t pid;pid = fork();if(pid == 0) {int iPid = (int)getpid();fprintf(stderr,"I am child,%d\n",iPid);sleep(1);fprintf(stderr,"child exits\n");return EXIT_SUCCESS;}int iPid = (int)getpid();fprintf(stderr,"I am parent,%d\n",iPid);fprintf(stderr,"sleep....\n");sleep(600);fprintf(stderr,"parent exits\n");return EXIT_SUCCESS;`在这里插入代码片`
}
# 编译 c 语言代码
# -o 指定输出名
gcc zombie.c -o zombie.bin

在这里插入图片描述

./zombie.bin  # 运行

在这里插入图片描述

查询

top

在这里插入图片描述

ps aux | grep Z # 当前进程 2129

在这里插入图片描述

pstree -p | grep 2129

在这里插入图片描述

# 结束进程,结束不掉
kill 2129
kill -9 2129

在这里插入图片描述

# 结束父进程
kill 2128ps aux | grep Z # 也看不到僵尸进程了

相关文章:

  • 神经网络加上注意力机制,精度反而下降,为什么会这样呢?注意力机制的本质是什么?如何正确使用注意力机制?注意力机制 | 深度学习
  • xml双引号可以不转义
  • 购物车系统的模块化设计:从加载到结算的全流程拆解
  • SpringBoot返回xml
  • HttpServletRequest 对象包含了哪些信息?
  • 计算机网络总结(物理层,链路层)
  • MongoDB | 零基础学习与Springboot整合ODM实现增删改查
  • docker部署XTdrone
  • 如何确定是不是一个bug?
  • HDFS存储原理与MapReduce计算模型
  • 0基础 Git 代码操作
  • Python实例题:Python打造漏洞扫描器
  • 【Linux 学习计划】-- 冯诺依曼体系 | 操作系统的概念与定位,以及其如何管理软件
  • svn: E155017: Checksum mismatch while updating 校验错误的解决方法
  • whisper相关的开源项目 (asr)
  • leetcode 17. Letter Combinations of a Phone Number
  • Ubuntu 24.04部署安装Honeyd蜜罐
  • 大学之大:浦项科技大学2025.5.25
  • 塔能科技:以多元技术赋能全行业能耗节能转型
  • STM32 输出比较输出PWM控制呼吸灯小实验(2种实现 铁头山羊与江协科技)
  • 网站编程语言/中国万网官网登录
  • wordpress快讯插件/网站页面优化包括
  • 乐清网站建设honmau/培训学校机构有哪些
  • 深圳企业网站建设报价/域名批量查询工具
  • 织梦网站后台默认登陆路径/百度推广方式有哪些
  • 浅谈幼儿园网站的建设与管理制度/创意设计