Linux进程管理

2020-01-18  本文已影响0人  大鱼鱼

进程的基本概念

Linux是一个多用户、多任务的操作系统。在这样的环境中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位。为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及他们对系统资源的使用情况,从而实施对进程和资源的动态管理。Linux系统中每个运行的程序至少由一个进程组成。程序和进程之间是有区别的:进程不是程序,虽然它由程序产生。程序只是一个静态的指令集合,不占系统的运行资源;而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。一个程序运行多次从而产生多个进程。
Linux操作系统包括以下3种不同类型的进程,每种进程都有其自身的特点和属性。
(1)交互进程:由一个shell启动的进程,交互进程既可以在前台运行,也可以在后台运行。前者称为前台进程,后者称为后台进程。前台进程可以通过shell与用户交互。
(2)批处理进程:这种进程和终端没有联系,是一个进程序列,由多个进程按照指定的方法执行。
(3)守护进程:Linux系统启动时的进程并没有在后台运行,它本身不在屏幕上显示任何信息,但是在后台悄悄地为用户服务,例如各种网络服务程序都是属于后台进程。
Linux系统中,进程的执行模式划分为用户模式和内核模式。当进程运行于用户空间时属于用户模式,如果用户程序运行过程中出现系统调用或发生中断事件,就要运行操作系统(即核心)程序,进程的运行模式就变为内核模式。在该模式下运行的进程可以执行机器的特权指令,而且,此时该进程的运行不受用户的干预。

当用户登录Linux操作系统后,打开终端,即建立一个shell进程,它接收用户的各种命令并创建子进程执行用户命令,当用户命令结束后,再返回当前shell进程,可接收用户新的命令。shell程序可以创建前台进程和后台进程,当输入命令时,在命令后面加上&符号,则进程在后台运行,否则在前台运行。在后台运行时,用户可继续输入其它命令执行;而在前台运行时,只有当该进程结束后,用户才能继续输入新的命令执行。

进程的创建和命令执行

在Linux操作系统中,通过fork()系统调用来创建子进程。
将执行fork操作的进程称为父进程,被fork()创建的进程称为该进程的子进程,当父进程执行fork操作时,操作系统内核执行如下任务完成进程的创建工作。

上一篇 下一篇

猜你喜欢

热点阅读