Linux的进程管理(基础篇)

本文介绍了Linux的进程管理基础知识,包括进程的定义、状态及其生命周期,详细阐述了进程的五种状态:运行态、可中断睡眠态、不可中断睡眠态、僵死态和终止态。此外,还探讨了进程管理的相关命令,如`ps`用于静态查看进程,`top`用于动态查看进程,`kill`用于结束进程,以及`nice`调整进程优先级。文章最后简单提及了作业控制和虚拟文件系统proc。
摘要由CSDN通过智能技术生成

一.进程简介

1.什么是进程

进程就是处于执行期的程序(目标代码存放在某种存储介质上)。但进程并不仅仅局限于一段可执行程序代码(Unix 称为代码段,text section)。通常进程还要包含其他资源,像打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程(thread of execution),当然还包括用来存放全局变量的数据段等。实际上,进程就是正在执行的程序代码的实时结果。内核需要有效而又透明地管理所有细节。

简单来说
进程就是已启动的可执行程序的运行实例,进程有以下组成部分:
• 已分配内存的地址空间;
• 安全属性,包括所有权凭据和特权;
• 程序代码的一个或多个执行线程;
• 进程状态。
程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd
进程: 是程序运行的过程, 动态,有生命周期及运行状态。

2.进程的状态

进程状态包括以下五种:
(1)task_running(运行态):进程是可执行的;或者正在执行,或者在运行队列中等待执行。
(2)task_interruptible(可中断睡眠态):进程被阻塞,等待某些条件的完成。一旦完成这些条件,内核就会将该进程的状态设置为运行态。
(3)task_uninterruptible(不可中断睡眠态):进程被阻塞,等待某些条件的完成。与可中断睡眠态不同的是,该状态进程不可被信号唤醒。
(4)task_zombie(僵死态):该进程已经结束,但是其父进程还没有将其回收。
(5)task_stop(终止态):进程停止执行。通常进程在收到sigstop、sigttin、sigttou等信号的时候会进入该状态。

3.Linux中进程的生命周期和它们涉及的调用:

(1)父进程调用fork() 产生一个新的自进程;
(2)子进程调用exec() 指定自己要执行的代码;
(3)子进程调用exit() 退出,进入zombie状态;
(4)父进程调用wait(),等待子进程的返回,回收其所有资源

二.进程管理process

1.静态查看进程 ps

ps指令的意思
precess status的缩写
中文释义为过程状态
我们以一个进程为例
如·下图·
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值