Linux linux下的进程状态
进程状态
进程状态有:就绪 / 运行 / 阻塞
linux下进程的状态
运行态 R:就绪以及正在运行,运行状态的进程才会被操作系统调度在cpu上运行
可中断休眠态 S:当前的阻塞能够被中断唤醒的休眠状态
不可中断休眠态 D:当前的阻塞不会被中断唤醒,等待条件满足自动唤醒
暂停态 T:停止运行,什么都不做
僵尸态 Z:进程已经退出了但是资源没有完全被释放的一种状态 (这是一种等待后续处理的状态)
可中断休眠状态展示S
loop.c代码
#include<stdio.h>
#include<unistd.h>
int main()
{int a = 0;sleep(5)while (1){++a;}return 0;
}
运行后查看进程状态pu -aux | grep loop
S表示的就是该进程处于可中断休眠状态
经过5秒后自动唤醒
暂停状态展示T
当你尝试杀死前面的那个进程,但是在查看进程信息时,该进程还是存在,但是是暂停状态。
运行状态展示R
loop.c代码
#include<stdio.h>
int main()
{while (1){}return 0;
}
运行后查看进程状态pu -aux | grep loop
僵尸状态展示Z
f.c代码
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>int main(){pid_t pid;pid = fork();while (1){sleep(1);printf("---child...pid:%d\n",getpid());printf("---father...pid:%d\n",getpid());}return 0;}
运行后查看进程状态ps -efl | head -n 1 && ps -efl | grep f
第一个是父进程,第二个是子进程。我们现在杀死子进程kill 4884
再查看进程状态ps -efl | head -n 1 && ps -efl | grep f
可以发现第二个的子进程已经是僵死状态
命令:
kill 进程号
杀死进程
kill -9 进程号
强制杀死进程
僵尸进程:处于僵死状态的进程,指的是进程已经退出不在运行,但是资源没有完全释放
僵尸进程产生的条件:子进程先于父进程退出,但是父进程没有进行进程等待,导致无法获取子进程的退出状态,因此操作系统无法直接释放子进程资源
资源没释放完是因为要保存僵尸进程的退出原因
僵尸进程的危害:资源泄漏(占据内存、进程数量等),一个用户所能创建的进程数量是有限的,并且资源没有完全回收,会占用内存资源。
处理僵尸进程的方法:
退出父进程(父进程退出,子进程保存退出原因就没有意义了)
避免僵尸进程的方法:
进程等待
孤儿进程:父进程先于子进程退出,则子进程称为孤儿进程,这孤儿进程的父进程成为了1号进程,并且这个孤儿进程运行在后台,并不占据前台终端。孤儿进程不会成为僵尸进程。
守护进程:是一种特殊的孤儿进程,父进程是1号(init)进程,运行在后台,与终端以及登录会话脱离关系,不再受影响。守护进程通常是一种运行在系统后台的批处理(默默的做一些循环往复的事情)
精灵进程:就是守护进程
Linux linux下的进程状态相关推荐
- Linux系统下基本命令
Linux系统下基本命令: 要区分大小写 uname 显示版本信息(同win2K的 ver) dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir) pwd 查询当前所在的 ...
- 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
文章目录 一.Linux 内核中的进程状态 二.TASK_RUNNING 状态 三.TASK_RUNNING 状态 四.TASK_UNINTERRUPTIBLE 状态 五.__TASK_STOPPED ...
- Linux系统下常见性能分析工具的使用
在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...
- Linux/Unix下的任务管理器-top命令
Linux/Unix下的任务管理器-top命令 Posted on 2012-07-11 09:14 fengyv 阅读(15453) 评论(1) 编辑 收藏 Windows下的任务管理器虽然不好用( ...
- linux 性能教程,Linux系统下常见性能分析工具的使用
在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...
- 分析linux系统的运行性能,Linux系统下常见性能分析工具的使用
在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...
- Linux操作系统下进程讲解(史上最强总结)
Linux操作系统下进程讲解 一.进程的基本概念: 1. 什么是进程 在传统的操作系统中,程序不可以独立的运行,作为资源分配和独立运行的基本单位都是进程.进程的定义是一个可执行中程序的实例,系统中每一 ...
- linux环境下查看进程,Linux下查看进程(程序)启动时的环境变量
背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...
- linux环境下随时照看服务器进程的ps和top命令
文章目录 前言 ps命令 语法格式 语法规范 常用的ps选项 ps命令的表头 进程状态 常规状态码 BSD格式状态码 进程相关的后续命令 top命令 语法格式 常用的top选项和快捷键 top命令的表 ...
- linux环境下的进程
进程 :程序的一个执行实例,正在运行的程序等,同时是分配系统资源的基本单位 描述进程(PCB):在linux环境下用task_struct的结构体来描述进程,该结构体包含了进程所需要的所有信息. ta ...
最新文章
- 一文入门 Python 数据分析库 Pandas
- Mybatis报错 TooManyResultsException
- 七国要求科技巨头预留后门 应对马甲芯片高度警惕
- java标准i o重定向_Java I/O(二)其他常用的输入输出流PrintStream等、标准流重定向...
- EntityFramework使用及优化
- C# 设置Windows程序窗口为穿透状态
- 控制算法(二)—— 模糊控制算法
- 各区区号的字段和名称
- 苹果手机怎么连接不了无线网络连接服务器,苹果手机连接wifi显示无互联网连接怎么办?...
- 开发时几种常见的建模工具
- apple关闭双重验证_Apple安全浏览说明-Apple为什么将您的数据发送给Google和腾讯,以及如何将其关闭
- SAP 针对国家 country, 维护税码 tax code
- MusicLibrary:一个丰富的音乐播放封装库
- SVN设置忽略文件夹
- html 订阅发布,发布订阅模式.html · Avan/blog_demo_defineProperty - Gitee.com
- java基于ssm的道路求援车队管理系统
- 计算机音乐来自天堂的魔鬼,来自天堂的魔鬼
- npmmirror 中国镜像站,npm设置最新淘宝镜像
- ceph rbd mysql_如何在 Kubernetes 环境中搭建 MySQL(三):使用 PVC 挂接 RBD
- 微信小程序——绘制折线图
热门文章
- r420 raid linux,Dell R420 RAID建立以及系统安装
- linux shell ${}简单用法,Linux shell ${}简单用法
- 盐城有哪些中专计算机学校,盐城有什么中专学校
- eclipse android 第一个程序,Eclipse 开发 Android,第一个 HelloWord 程序(学习1)-Fun言
- spring框架 c p标签的区别_Spring学习初体验
- win7上的linux环境变量,java之环境变量配置win7andlinux.docx
- 学习笔记(04):MySQL数据库运维与管理-02-二进制日志及其管理
- 希尔排序python 简书_数据结构_排序_直接插入+希尔排序
- c语言编译器查错,C语言编译器的错误信息
- Spring DI(依赖注入)构造器注入篇