Linux基本配置和管理 8 程序管理与SELinux初探 - Linux系统
一 什么是进程
1 在Linux系统当中,触发任何一个事件时,系统都会将它定义成为一个进程,并且给予这个进程一 个ID,称为PID,同时依据触发这个进程的用户与相关属性关系,给予这个PID一组有效的权限设置 2 我们说过,系统应该是仅认识二进制文件的,那么当我们要让系统工作的时候,当然就需要启动一 个二进制文件,那个二进制文件就是程序 3 程序:通常为二进制程序放置在存储媒介中(如硬盘,光盘,软盘,磁带等),以物理文件的形式 存在 进程:程序被触发后,执行者的权限与属性,程序的程序代码与所需数据等都会被加载到内存中,操 作系统并给予这个内存中的单元一个标识符PID,可以说,进程就是一个正在运行中的程序 4 连续执行两个bash后,第二个bash的父进程就是前一个bash,因为每个进程都有一个PID,那某个 进程的父进程可以通过PPID来判断 5 在Linux的过程调用中通常称为fork-and-exec的流程:进程都会通过父进程以复制fork的方式产生 一个一模一样的进程,然后被复制出来的子进程再以exec的方式来执行实际要进行的进程,最终就成为 一个子进程的存在 6 系统先以fork的方式复制一个与父进程一模一样暂存进程,这个进程与父进程唯一的区别就是PID 不同,但是这个暂存进程还会多一个PPID参数,然后暂存进程开始以exec的方式加载实际要执行的程序 ,最终成为子进程 二 工作管理 1 在进行工作管理的行为中,其实每个工作都是目前bash的子进程,即彼此之间是有相关性的。即我 们无法以工作管理的方式从tty1的环境去管理tty2的bash 2 假设我只有一个终端,因此在可以出现提示符让你操作的环境就称为前台,至于其他工作就可以让 你放入后台去暂停或运行。要注意的是,放入后台的工作想要运行时,它必须不能够与用户互动。 3 总之要进行工作管理的限制是: 1 这些工作所触发的进程必须来自于你shell的子进程 2 前台:你可以控制与执行命令的这个环境称为前台工作 3 后台:可以自行运行的工作,你无法使用Ctrl+c终止它,可使用bg/fg调用该工作 4 后台中“执行”的进程不能等待终端的输入 4 直接将命令丢到后台中“执行”的&,这个&代表的是“将工作丢到后台 中,不怕被Ctrl+c中断 5 将目前的工作丢到后台中“暂停”,Ctrl+z 6 在vi的一般模式下,按下Ctrl+z这两个按键,屏幕上面会出现[1],表示这是第一个工作,而那个+ 代表最近一个被丢进后台的工作,且目前在后台下默认会被取用的那个工作。而Stopped表示的是这个工 作是暂停的 7 其实后台的工作+代表的是最近被放到后台的工作号码,-代表最近最后第二个被放置到后台的工作 号码,而超过最后三个以上的工作,就不会有+/-符号存在了 8 将后台的工作拿到前台来处理fg,fg %jobnumber,jobnumber是工作号码 9 让工作在后台下的状态变成运行中bg,bg %jobnumber,jobnumber是工作号码 10 管理后台的工作kill kill -signal %jobnumber -1,重新读取一次参数的配置文件 -2,代表由键盘输入Ctrl+c同样的操作 -9,立刻强制删除一个工作 -15,以正常的程序终止一个工作,并将该工作强制删除 11 kill后面接的数字默认会是PID,如果想要管理bash的工作控制,就得要加上%数字了 12 脱机管理问题 1 我们在工作管理中所提到的“后台”指的是在终端机模式下可以避免Ctrl+c中断的一 个情境,并不是放到系统的后台中 2 我们可以使用nohup命令实现真正的放到系统后台来运行 nohup 命令与参数 -->在终端机的前台工作 nohup 命令与参数 & -->在系统的后台工作 3 nohup并不支持bash内置的命令,因此你的命令必须要是外部命令才行 4 如果我们想要让在后台的工作在你注销后还能够继续执行,可以使用nohup命令
(编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |