如果就我们之前学到的一些指令数据来看,其实我们下达的指令都很简单,包括用
ls
显示文件啊、
用
touch
½立文件啊、
rm/mkdir/cp/mv
等指令管理文件啊、
chmod/chown/passwd
等等的指令来管理
权限等等的,不过,
这些指令都是执行完就½束了。也就是说,该项指令被触发后所产生的
PID
很
快就会终止呢!
那有没有一直在执行的½程啊?当然有啊!而且多的是呢!
举个简单的例子来说好了,我们知道系统每分钟都会去扫瞄
/etc/crontab
以及相关的配置文件,
来
½行工作排程吧?那么那个工作排程是谁负责的?当然不是鸟哥啊!
呵呵!是
crond
这个程序所管
理的,
我们½他启动在背景当中一直持续不断的运作,
套句鸟哥以前
DOS
年代常常说的一句话,
那就是『常驻在内存当中的½程』啦!
常驻在内存当中的½程通常都是负责一些系统所提供的功能以服务用户各项任务,因此
这些常驻程序
就会被我们称为:服务
(daemon)
。系统的服务非常的多,
不过主要大致分成系统本身所需要的服务,
例如刚刚提到的
crond
及
atd
,还有
rsyslogd
等等的。还有一些则是负责网络联机的服务,例如
Apache, named, postfix, vsftpd...
等等的。这些网络服务比½有趣的地方,在于这些程序被执行后,他
会启动一个可以负责网络监听的端口口
(port)
,以提供外部客户端
(client)
的联机要求。
Tips
以
crontab
来说,他的主要执行程序名称应该是
cron
或
at
才对,为啥要加个
d
在
后面?而成为
crond, atd
呢?就是因为
Linux
希望我们可以简单的判断该程序是否为
daemon
,
所以,一般
daemon
类型的程序都会加上
d
在文件名后头~包括服务器篇我们会看到的
httpd, vsftpd
等等都是
^_^
。
16.1.2 Linux
的多人多任务环境
我们现在知道了,其实在
Linux
底下执行一个指令时,系统会½相关的权限、属性、程序代码与数
据等均加载内存,
并给予这个单元一个½程标识符
(PID)
,最终该指令可以½行的任务则与这个
PID
的权限有关。根据这个说明,我们就可以简单的了½,为什么
Linux
这么多用户,但是却每个人都
可以拥有自己的环境了吧!
^_^
!底下我们来谈谈
Linux
多人多任务环境的特色:
.
多人环境:
Linux
最棒的地方就在于他的多人多任务环境了!那么什么是『多人多任务』?在
Linux
系统上面
具有多种不同的账号,
每种账号都有都有其特殊的权限,只有一个人具有至高无上的权力,那就是
root (
系统管理员
)
。除了
root
之外,其他人都必须要受一些限制的!而每个人½入
Linux
的环境设
定都可以随着每个人的喜好来设定
(
还记得我们在
第十章
BASH
提过的
~/.bashrc
吧?对了!就是那
个光!
)
!现在知道为什么了吧?因为每个人登入后取得的
shell
的
PID
不同嘛!
.
多任务行为:
我们在
第零章
谈到
CPU
的速度,目前的
CPU
速度可高达几个
GHz
。
这代表
CPU
每秒钟可以运
作
10
9
这么多次指令。我们的
Linux
可以让
CPU
在各个工作间½行切换,
也就是说,其实每个工