- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
16程序与资源管理
程序与资源管理 1
什么是程序 (process) 1
程序与执行文件 (process program) 1
Linux 的多人多任务环境 4
工作管理 (job control): , [ctrl]-z, jobs, fg, bg, kill 6
程序管理 11
程序的观察 11
ps 11
top 15
pstree 18
程序的删除 20
系统资源的观察 21
free 21
uname 22
uptime 23
netstat 23
dmesg 25
sar 25
关于程序的执行顺序: 26
nice 27
renice 28
特殊档案与程序: 29
SUID/SGID/SBIT 的概念 29
/proc/* 代表的意义: 30
查询已开启档案或已执行程序开启之档案: 32
fuser 32
lsof 33
pidof 34
参考数据 35
本章习题练习 35
程序与资源管理
在 Linux 当中, Linux 是如何分辨一个程序的呢?嗯!当我们的系统里面有太多的死亡的程序的时候, 应该怎样将该程序查出来之后并杀掉他呢?如果主机仅允许一次登入一个终端机画面, 如何从事多个工作的进行呢?还有,如何设定一个程序,让他的执行顺序可以比较快速呢?! 这个都是过程控制的重点项目呦!呵呵!另外一个又更常发生啦!如果我的 X-Window 死掉了!但是我的 Linux 基本上却还是活着的时候,那么是否需要重新 reboot 呢?还是有其它的方式可以重新启动 X-Window ? 仔细瞧一瞧整个 process 的概念喔!
什么是程序 (process)
由前面一连几个章节的数据看来,我们一直强调在 Linux 底下所有的指令与您能够进行的动作都与权限有关, 而系统如何判定你的权限呢?当然就是前面 账号管理 章节当中提到的 UID/GID 的相关概念,以及档案的属性相关性啰!再进一步来解释, 您现在大概知道,在 Linux 系统当中:『触发任何一个事件时, 系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系, 给予这个 PID 一组有效的权限设定。』 从此以后,这个 PID 能够在系统上面进行的动作,就与这个 PID 的权限有关了!
看这个定义似乎没有什么很奇怪的地方,不过,您得要了解什么叫做『触发事件』才行啊! 我们在什么情况下会触发一个事件?而同一个事件可否被触发多次?呵呵!来了解了解先!
程序与执行文件 (process program)
我们如何产生一个 Process ID (PID) 呢?其实很简单啦,就是『执行一个程序或指令』 就可以触发一个事件了而取得一个 PID 啰!我们说过,系统应该是仅认识 binary file 的, 那么当我们要让系统工作的时候,当然就是需要启动一个 binary file 啰, 那个 binary file 就是程序 (program) 啦!
那我们知道,每个程序都有三组人马的权限,每组人马都具有 r/w/x 的权限, 所以:『不同的使用者身份执行这个 program 时,系统给予的权限也都不相同!』 举例来说,我们可以利用 touch 来建立一个空的档案,当 root 执行这个 touch 指令时,他取得的是 UID/GID = 0/0 的权限,而当 dmtsai (UID/GID=501/501) 执行这个 touch 时,他的权限就跟 root 不同啦!
再举个更常见的例子,我们要操作系统的时候,通常是利用联机程序或者直接在主机前面登入, 然后取得我们的 shell 对吧!那么,我们的 shell 是 bash 对吧,这个 bash 在 /bin/bash 对吧, 那么同时间的每个人登入都是执行 /bin/bash 对吧!不过,每个人取得的权限就是不同! 也就是说,我们可以这样看:
图一、程序与程序之间的差异
也就是说,当我们登入并执行 bash 时,系统已经给我们一个 PID 了, 这个 PID 就是依据登入者的 UID/GID (/etc/passwd) 来的啦~ 以上面的图来做说明的话,我们知道 /bin/bash 是一个程序 (program),当 dmtsai 登入后,他取得一个 PID 号码为 2234 的程序,这个程序的 User/Group 都是 dmtsai, 而当这个程序进行其它作业时,例如上面提到的 touch 这个指令时, 那么由这个程序衍生出来的其它程序在一般状态下,也会沿用这个程序的相关权限的!
# 子程序与父程序:
在上面的说明里面,我们有提到所谓的『衍生出来的程序』,那是个啥咚咚? 这样说好了,当我们登入系统后,会取得一个 bash 的 shell ,然后,我们用这个 bash 提
文档评论(0)