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

【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 # 也看不到僵尸进程了
http://www.xdnf.cn/news/8783.html

相关文章:

  • Github Actions工作流入门
  • 详解3DGS
  • MySQL---库操作
  • 深入解析MongoDB WiredTiger存储引擎:原理、优势与最佳实践
  • 如何通过API接口实现自动化上货跨平台铺货?商品采集|商品上传实现详细步骤
  • 论文阅读:PURPLE: Making a Large Language Model a Better SQL Writer
  • leetcode排序链表 java
  • k8s部署ELK补充篇:kubernetes-event-exporter收集Kubernetes集群中的事件
  • QT单例模式简单讲解与实现
  • 汇量科技前端面试题及参考答案
  • 电路设计接口协议大全
  • 科技赋能,创新不止,建投数据获批三项算力服务软件著作权
  • el-input 按回车失去焦点
  • 【java】小练习--零钱通
  • 第十四章:数据治理之数据源:数据源的数据接入、业务属性梳理及监控
  • 人形机器人硬件技术剖析:部件、难点与突破路径
  • vocabulary in code
  • AI大模型(三)openAI大模型应用
  • [爬虫知识] IP代理
  • 2021-10-28 C++判断完全平方数
  • NVMe高速传输之摆脱XDMA设计1
  • 9:多线程(2)
  • 再论自然数全加和-2
  • 开疆智能Profinet转Profibus网关连接Type8644自动化控制系统案例
  • Pr -- 耳机没有Pr输出的声音
  • 算法笔记·数学·约数之和
  • PCIE 4.0 vs PCIE 5.0固态硬盘——区别、科普与选购场景全解析
  • yolov11使用记录(训练自己的数据集)
  • 无损图片压缩 本地处理 批量处理提升效率 无需联网+无广告
  • 代码混淆技术的还原案例