首页 > 系统相关 >进程状态及其转换

进程状态及其转换

时间:2024-06-14 20:58:01浏览次数:26  
标签:状态 转换 僵尸 停止 前台 进程 运行

0号进程(idle):在linux系统启动的时候最先运行的进程就是0号进程,0号进程又叫空闲进程。如果系统上没有其他进程执行那么0号进程就执行。0号进程是1号进程和2号进程的父进程

1号进程(init):init进程是由0号进程创建得到的,它的主要工作是系统的初始化。当初始化工作执行完之后,它主要负责回收孤儿进程(子进程没结束,父进程先没了 此时该子进程就是孤儿进程)的资源。 (PS:僵尸进程:子进程死掉了 父进程还存在 但没有给它回收 ,此时死掉的子进程就变成了僵尸进程 僵尸态)

2号进程(kthreadd):kthreadd是有0号进程创建出来的,它主要负责调度工作(调度器进程)

1.进程的状态(man ps)

                D 不可中断的休眠态
                R 运行态 (PS:正在运行或者在运行队列上)
                S 可中断的休眠态(可被信号打断)
                T 停止状态
                t 调试的停止状态
                X 死亡态
                Z 僵尸态
2.进程的附加状态
                < 高优先级
                N 低优先级
                L 被锁定在内存上
                s 会话(新开一个终端 就会产生一个会话)组组长 
                l 进程包含多线程
               + 在前台进程组中

2.转换

#include <head.h>

int main(int argc,const char * argv[])
{
    while(1);
    return 0;
}
  1. 前台运行的进程

    image-20230619093056484

  2. 让上述进程进入停止状态

    ctrl + z (让进程进入到停止状态)

    image-20230619093320828

  3. 让停止状态的进程运行

    通过jobs -l(在运行./a.out 的终端上运行的 而不是新开的终端)查看停止状态进程的作业号

    image-20230619093519398

    bg 作业号 (让进程后台运行 ./a.out &)

    image-20230619093715888

  4. 让后台运行的进程变为前台

    fg 作业号

    image-20230619093841099

标签:状态,转换,僵尸,停止,前台,进程,运行
From: https://blog.csdn.net/CSDN_DU666666/article/details/139675257

相关文章

  • python watchdog检测到文件产生,动态创建进程,不指定进程数去处理,处理过程中需要写文件,
    如果希望在检测到文件时动态创建进程而不预先指定进程数,并确保写文件时不发生冲突,可以使用队列和锁的机制。以下是一个改进的方案:pythonfrommultiprocessingimportProcess,Queue,Lockfromwatchdog.observersimportObserverfromwatchdog.eventsimportFileSystemE......
  • 核心(Hutool-core)类型转换
    在Java开发中我们要面对各种各样的类型转换问题,尤其是从命令行获取的用户参数、从HttpRequest获取的Parameter等等,这些参数类型多种多样,我们怎么去转换他们呢?常用的办法是先整成String,然后调用XXX.parseXXX方法,还要承受转换失败的风险,不得不加一层trycatch,这个小小的过程混迹在业......
  • 在Linux中,如何停止正在运行的进程?
    在Linux中,停止正在运行的进程可以采取多种方法,具体取决于你希望如何控制进程以及进程的当前状态。以下是一些常用的方法:1.使用kill命令kill命令是最常用的停止进程的方法。你需要知道进程的进程ID(PID)。发送SIGTERM信号(默认):killPID这会给进程发送一个终止信号(SIGTERM),......
  • 转换协议字节
     转换协议字节///<summary>///转换协议字节帮助类///</summary>publicclassByteUtil{///<summary>///byte数组转换int///</summary>///<paramname="src"></param>......
  • 进程还在,JSF接口不干活了,这你敢信?
    1、问题背景:应用在配合R2m升级redis版本的过程中,上游反馈调用接口报错,RpcException:[Bizthreadpoolofproviderhasbeenexhausted],通过监控系统和日志系统定位到现象只出现在一两个节点,并持续出现。第一时间通过JSF将有问题的节点下线,保留现场,业务恢复。报错日志如下:24-03-......
  • 【Java】 将字节数组转换为十六进制字符串:Java实现指南
    >>【痕迹】QQ+微信朋友圈和聊天记录分析工具>>(1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。>>(2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。>>(3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。>>下载地......
  • delphi Image32 图片转换成SVG
    image32中有2种算法转换图像为svg,一种是按透明度计算找边缘,另一种是分析像素梯度找边缘,demo代码整理后如下:unituFrmImageToSVG;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.......
  • 排查Java进程CPU占用高之三板斧
    写在前面线上环境突然出现Java进程CPU占用率持续超过100%的问题,该如何排查并定位呢?问题一:我们如何知道线上环境的那个服务器(或者哪个Docker容器)出现了CPU持续高的故障了呢?如果是有比较完善的监控设施,当出现CPU持续高时可以通过发送报警通知的方式告知开发人员,如果没有监控通知,......
  • zabbix 监控客户端进程Cpu && Mem
    目录zabbix监控客户端进程Cpu&&Mem进程Cpulinux环境下win10windows环境下zabbix监控客户端进程Cpu&&Mem有几台win10的机器,经常cpu过高导致服务不可用,但是不知道是哪个进程导致的。特地加个cpu监控进程的脚本,此外也会加linux系统的,详情请参考下面进程Cpulinux环境下对......
  • 线程、进程、并发和并行的概念
    线程、进程、并发和并行的概念进程:是指一个在内存中正在运行的程序,是操作系统分配资源(文件、io、网络、内存等资源)的基本单位。一个程序文件(也就是我们编写、编译好的程序,是保存在磁盘中的,例如.exe程文件),当我们点击,程序文件就被加载到内存中,也就创建了一个进程。同一个程......