进程管理和SELinux

您所在的位置:网站首页 linux指定进程组运行 进程管理和SELinux

进程管理和SELinux

2024-07-12 12:04| 来源: 网络整理| 查看: 265

文章目录 1. 进程管理(process control)1.1 进程与程序(process & program)1.2 子进程与父进程(child & parent process)1.3 观察进程1.3.1 ps :将某个时间点的进程运作情况撷取下来1.3.2 top:动态观察进程变化1.3.3 pstree:以进程树形式观察进程 1.4 进程管理1.4.1 kill:将讯号传给进程1.4.2 killall:将讯号通过指令名称传给进程 1.5 进程执行的顺序 2. 工作管理(job control)2.1 工作概念2.2 工作管理概念2.3 工作管理指令2.4 系统资源与文件状态查看 3. SELinux(security enhanced linux)3.1 SELinux介绍3.2 SELinux运作模式3.2.1 SELinux的三种运作模式3.2.2 SELinux运作模式查看和更改 3.3 SELinux政策内规则管理3.4 SELinux的信息记录 4. 重点梳理

1. 进程管理(process control)

  Linux系统的多用户与多任务环境是由多个不同PID的shell和CPU的分时切换来实现的,且系统稳定性极佳,进行进程管理可以通过在不同的终端操作以实现,同时可以进行任务管理,实现多任务的同时进行。这些功能的实现都与进程管理相关。   一般来说,进程有三种状态,分别为就绪、运行和阻塞状态,此外还有创建和终止状态(5状态版本),三种状态转换图如下: 在这里插入图片描述

创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行执行状态:进程处于就绪状态被调度后,进程进入执行状态阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞。在满足请求时进入就绪状态等待系统调用终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行。

另外为用户观察需要,进程还有挂起和激活两种操作。挂起后进程处于静止状态进程不再被系统调用,对于操作是激活操作。 此外,在一些系统中,又增加了一些新的状态:

浅度睡眠状态:进程正在睡眠(被阻塞),等待资源的到来是唤醒,也可以通过其他进程信号或时钟中断唤醒,进入运行队列。Linux 中使用TASK_INTERRUPTIBLE 宏表示此状态。深度睡眠状态:其和浅度睡眠基本类似,但不可被其他进程信号或时钟中断唤醒。Linux 中使用TASK_UNINTERRUPTIBLE 宏表示此状态。暂停状态:进程暂停执行接受某种处理。Linux 使用TASK_STOPPED 宏表示此状态。★僵死状态(zombie):进程已经结束但未释放进程控制块(PCB),Linux 使用TASK_ZOMBIE 宏表示此状态。挂起状态:在执行状态的进程通过挂起即可进入就绪状态,如图所示,就绪状态和阻塞状态都分为活动态和静止态。由活动态向静止态转换就是通过挂起实现的。 1.1 进程与程序(process & program) 程序(program):通常为binary program ,放置在储存媒体中(如硬盘、光盘、软盘、磁带等), 为实体文件的型态存在;进程(process):程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载内存中, 操作系统并给予这个内存内的单元一个标识符(PID),可以说,进程就是一个正在运作中的程序。

  程序一般存储在磁盘当中,通过用户的执行触发,触发后将程序加载到内存当中成为进程。OS为管理该进程,给予该进程执行者的权限/属性等参数,包括所需脚本与数据或文件数据等,并指定一个进程号PID。 在这里插入图片描述

1.2 子进程与父进程(child & parent process)

  子进程是由父进程所衍生出来的进程,每个进程的属性中有PPID,即父进程ID,子进程可以取得父进程的环境变量。   进程之间的呼叫是通过fork and exec来进行的。进程都会藉由父进程以复制(fork) 的方式产生一个一模一样的子进程, 然后被复制出来的子进程再以 exec 的方式来执行实际要进行的程序,最终就成为一个子进程的存在。过程如下图所示。 在这里插入图片描述

fork-and-exec是UNIX中所有process運作的模式。系統bootup的時候,第一個被執行的process(程式),其pid為1;經由fork-and-exec程序,啟動各個必要的process,而形成一個功能完整的作業系統。fork是UNIX一個系統呼叫(system call),process fork時,會複製一個跟自己完全一模一樣的process (with different pid),並利用系統呼叫完成之傳回值,來區分parent process 與child process,而分別賦予child process不同的功能。process於程式執行過程中,利用exec執行另一不同的程式,這個程式並且會完全取代原有程式(with the same pid)。 1.3 观察进程 1.3.1 ps :将某个时间点的进程运作情况撷取下来 ★[root@study ~]# ps aux


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3