小何讲进程: Linux下进程的管理

25 篇文章 22 订阅

1.  Linux系统是一个多进程的系统,进程之间具有并行性、互不干扰等特点。也就是说,每个进程都是一个独立的运行单位,拥有各自的权利和责任。

各个进程都运行在独立的虚拟地址空间,即使一个进程发生异常,它也不会影响到系统中的其他进程。


2.  Linux中的进程包含3个段,分别为“数据段”“代码段”“堆栈段”
“数据段”存放的是全局变量、常数以及动态数据分配的数据空间,根据存放的数据性质,数据段可以分成:
普通数据段(包括读写/只读数据段,存放已初始化的全局变量和静态变量或常量)、BSS数据段(存放未初始化的全局变量或静态变量)、堆(存放动态分配的数据)。
“代码段”存放的是程序的指令代码。
“堆栈段”存放子程序的返回地址、子程序的参数以及函数中的局部变量等。
由于Linux进程分为用户空间和内核空间两部分,它有时运行于用户空间,有时运行于内核空间,

因此,为了保护各自的现场数据,一个进程需要两个堆栈:用户堆栈(进程堆栈)和系统堆栈。




3.  在Linux系统中,进程的执行模式划分为用户模式内核模式

如果当前运行的是应用程序或者内核之外的系统程序,那么对应进程就在用户模式下运行;
如果在用户程序执行过程中出现系统调用或者发生中断事件,那么就要运行操作系统(即核心)程序,进程模式就变成内核模式。
在内核模式下运行的进程可以执行机器的特权指令,而且此时该进程的运行不受用户的干扰,
即使是root用户也不能干扰内核模式下进程的运行。

综上:用户进程既可在用户模式下运行,也可以在内核模式下运行



4.  Linux下的进程管理包括:
启动进程
调度进程

Linux下启动一个进程有两种主要途径:
手工启动:是由用户输入命令直接启动进程;
调度启动:是指系统根据用户的设置自行启动进程。

(1)手工启动。
手工启动进程又可分为前台启动和后台启动。
前台启动是手工启动一个进程的最常用方式。一般地,当用户键入一个命令如“ls -l”时,就已经启动了一个进程,并且是一个前台的进程。
后台启动往往是在该进程非常耗时,且用户也不急着需要结果的时候启动的。
比如用户要启动一个需要长时间运行的格式化文本文件的进程。为了不使整个shell在格式化过程中都处于“瘫痪”状态,从后台启动这个进程是明智的选择。
方法:命令&

(2)调度启动。
有时,系统需要进行一些比较费时而且占用资源的维护工作,并且这些工作适合在深夜无人值守的时候进行,这时用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统就会自动完成这一切工作。
使用调度启动进程有几个常用的命令,如
at命令在指定时刻执行相关进程
cron命令可以自动周期性地执行相关进程。


  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值