[root@study ~]#
cp file1 file2 &
在这一串指令中,重点在那个
&
的功能,他表示½
file1
这个文件复制为
file2
,且放置于背景中
执行,
也就是说执行这一个命令之后,在这一个终端½口仍然可以做其他的工作!而当这一个指令
(cp file1 file2)
执行完毕之后,系统½会在你的终端½口显示完成的消息!很便利喔!
.
多人多任务的系统资源分配问题考虑:
多人多任务确实有很多的好处,但其实也有管理上的困扰,因为使用者越来越多,
½导致你管理上
的困扰哩!另外,由于使用者日盛,当使用者达到一定的人数后,
通常你的机器便需要升级了,因
CPU
的运算与
RAM
的大小可能就会不敷使用!
举个例子来说,鸟哥之前的网站管理的有点不太好,因为使用了一个很复杂的人数统计程序,
这个
程序会一直去取用
MySQL
数据库的数据,偏偏因为流量大,造成
MySQL
很忙碌。
在这样的情况
下,当鸟哥要登入去写网页数据,或者要去使用讨论区的资源时,
哇!慢的很!简直就是『龟速』
啊!后来终于½这个程序停止不用了,
以自己写的一个小程序来取代,呵呵!这样才让
CPU
的负
(loading)
整个½下来~
用起来顺畅多了!
^_^
16.2
工作管理
(job control)
这个工作管理
(job control)
是用在
bash
环境下的,也就是说:『
当我们登入系统取得
bash shell
后,在单一终端机½口下同时½行多个工作的行为管理
』。举例来说,我们在登入
bash
后,
想要
一边复制文件、一边½行资料搜寻、一边½行编译,还可以一边½行
vim
程序撰写!
当然我们可以
重复登入那六个文字½口的终端机环境中,不过,能不能在一个
bash
内达成?
当然可以啊!就是
使用
job control
啦!
^_^
16.2.1
什么是工作管理?
从上面的说明当中,你应该要了½的是:『
½行工作管理的行为中,
其实每个工作都是目前
bash
子½程,亦即彼此之间是有相关性的。
我们无法以
job control
的方式由
tty1
的环境去管理
tty2
bash
这个概念请你得先½立起来,后续的范例½绍之后,你就会清楚的了½啰!
或许你会觉得很奇怪啊,既然我可以在六个终端½口登入,那何必使用
job control
呢?
真是脱裤子
放屁,多此一举啊!不要忘记了呢,我们可以在
/etc/security/limits.conf (
第十三章
)
里面设定使用者同
时可以登入的联机数,在这样的情况下,某些使用者可能½能以一个联机来工作呢!
所以啰,你就
得要了½一下这种工作管理的模式了!此外,这个章½内容也会牵涉到很多的数据流重导向,所以,
如果忘记的话,
务必回到
第十章
BASH Shell
看一看喔!
由于假设我们只有一个终端½口,因此在
可以出现提示字符让你操作的环境就称为前景
(foreground)
至于其他工作就可以让你放入背景
(background)
去暂停或运作。
要注意的是,放入背景的工作想要
运作时,
他必须不能够与使用者互动。举例来说,
vim
绝对不可能在背景里面执行
(running)
的!
因为你没有输入数据他就不会跑啊!
而且
放入背景的工作是不可以使用
[ctrl]+c
来终止的
总之,要½行
bash
job control
必须要注意到的限制是: