喜迎2008

刚刚看到cocobear的一篇博客-2007回顾,自己也应该回顾回顾过去,展望展望未来了,毕竟现在已经大三了,很快就要离开校园去奋斗了。

今年不管在学习和生活上,都有很大的进步,特别是在我喜欢的计算机方面,接触了很多有用知识、搞清楚了好多问题、明白了好多道理、养成了许多好的学习习惯,总之我在进步。

对于未来虽然依旧迷茫,不过稍微看到了一点点希望。下面还是继续努力,少些懒惰、多丝勤奋,少些借口、多些实干,少些顾虑、多些自信,少些迷茫、多丝希望。有前面生活学习上的经验和教训,以后会做的更好。

不说了,祝愿所有人明天更好吧!

—-未来是充满希望的,哪怕生命还有一天,也要好好活!

转:手机里暗含让你吃惊的大秘密

1、非得用光了电才为电池充电。

手机 电池不要等到没电才充电一般我们都会有一种想法就是手机的电池电力要全部放完再充电比较好基本上是没错的,因为我们在以前使用的充电电池大部分是镍氢 ( NiH 电池,而镍氢电池有所谓的记忆效应若不放完电再充的话会导致电池寿命急速减少。因此我们才会用到最后一滴电才开始 充电。但现在的手机及一般 IA产品大部分都用锂(Li)电池,而锂电池的话就没有记忆效应的问题。若大家还是等到全部用完电后再充的话反而会使得锂 电池内部的化学物质无法反应而 寿命减少。最好的方法就是没事就充电让它随时随地保持最佳满格状态,这样你的电池就可用的又长又久喔。这是从厂商那得到的讯息,并经过本身测试而得。

2、当手机电话!!正在充电时,请勿接。

原因是手机在充电时,来电接听的话会有潜在的危险。印度有一个31岁在保险公司任职业务经理的年轻人,十几天前在手机还接着充电器的时候接听电话,过了几秒 大量的电流经过手机,这个年轻人被摔落到地面,家人发现时,手指烧伤,心跳微弱,并且已经失去意识。经紧急送到医院后,医生宣布到院死亡。行动电话是目前 大家最常使用的现代发明。然而,我们也必须要警觉到仪器致死的危险。

3、手机剩一格时不要使用

收讯满格与只剩一格时相 比,发射强度竟然相差1000倍以上。所以……常讲手机的人……要注意哦 ……^0^、昨天从一位交大教授那儿获得一项很重要的 讯息 ,那就是当你发现 手机的收讯强度只剩下一格的时候,宁可挂断不谈或者是改用公用电话。千万不要再滔滔不绝、口沫横飞、浓情蜜意、欲罢不能、没完没了……为什么呢? 大家都 知道手机的电磁波一直是让人担心的问题。而手机的设计为了在收讯较差的地区仍能保有相当的通话质量,会加强手机的电磁波发射强度。当收讯满格与只剩一格时 相比,发射强度竟然相差1000倍以上。

4、17951+电话号码=陷阱,我也向1860查询过了。

如果你把17951 +电话号码储存在电话号码本里?而不是单独拨?收费就会从0.7元每分钟变成1.3元每分钟。他们的解释是如果储存在电话号码本里?系统将无法识别。所以 获得资费优惠,必须每次在键盘上直接按17xxx。神州行用户如此? 动感地带用户,全球通也一样。如果你是一个中国移动用户,当你知道中国移动为你设置 以下的陷阱的时候,便不再惊讶于你的话费为何会像长了翅膀一样的飞走。用17951+电话号码可以优惠,但如果你预先将17951+电话号码存在手机的电 话本,使用的时候调出来然后拔打出去,这时中国移动不承认你使用了17951这种优惠的拔打方式,而按照直接拔打的方式计费。如果你是在漫游,两种计费方 式可以相差7倍之多!当我得知如此计费之后,我真的不知如何表达我的愤怒,后来打1860咨询时,如果不是主动冶询问这个问题,工号为6608的小姐根本 就不告诉我这样的计费。

5、手机费的寄生虫

手机莫名其妙定置了无用短信,强烈建议大家都看一下自己有没有中招,最简单方 法退订每月偷你手机费的寄生虫!中国移动在3.15被迫退出一项新业务,如果您是中国移动的手机用户,键入数字0000,发送短信至186201,数秒钟 内将自动回复一条短信列表,显示您的手机上究竟订制了哪些短信服务,究竟是哪些短信服务商明着、暗着每月扣除您的手机费;键入数字00000,发送短信至 186201,即可退订所有短信服务。

补充一点~ 我们打电话的时候常常会为了正好赶在1:00前结束而庆幸,但其实并不是这样的,据一位中国移动的工作人员说,其实在你通话到0:55的时候就已经算一分钟了,所以0:55~1:00的通话时间其实是算你2分钟的钱。

GaimPidgin的命令行工具Finch

今天在ubuntu邮件列表里看到一Gaim(现在改名为pidgin)的一个命令行工具Finch。如果你已经安装了gaim或者pidgin,安装Finch不需要任何配置就能使用。inch的使用只需man  finch即可得到,快捷键组合用起来很方便,现在越来越觉得man有用了~~

 

感兴趣可以试一下,只是觉得好玩而已~~ 如何安装就在这里不废了~~

最早,gaim这个项目的名字叫“GTK+ AOL Instant Messenger”,由于AOL不满,Mark Spencer把他改名为“Gaim”。

过了几年,AOL注册了AIM这个商标,并且用来特指它的IM服务。于是因为“gAIM”再次对gaim这个项目不满了,并升级到了司法诉讼。不过由于双方最后都保持了沉默。

gaim2.0.0 beta发布后,AOL又不爽了,于是又和gaim的团队闹起来。出于法律上的考虑,gaim就一直没能发布非beta版本。最终AOL和Gaim达成了 协议,简单地说,就是Gaim可以发布新版本了,但是,必须改名。于是,换了个叫Pidgin的名字。同时改名的还有libgaim和gaim- text,分别改为libpurple和Finch。

这次改名之后,他们顺便把网站(Pidgin)搬出了sourceforge(暂时还在sf发布),版本控制也换成了monotone

Pidgin特指由多种语言混合再创作而产生的新的一种语言,这种再生产可以是取一种语言的词汇,而语法取另外一 种语言。“long time no see”“good good study,day day up”都算是是Pidgin句子吧。

CSS颜色代码大全

FFFFFF #DDDDDD #AAAAAA #888888 #666666 #444444 #000000
#FFB7DD #FF88C2 #FF44AA #FF0088 #C10066 #A20055 #8C0044
#FFCCCC #FF8888 #FF3333 #FF0000 #CC0000 #AA0000 #880000
#FFC8B4 #FFA488 #FF7744 #FF5511 #E63F00 #C63300 #A42D00
#FFDDAA #FFBB66 #FFAA33 #FF8800 #EE7700 #CC6600 #BB5500
#FFEE99 #FFDD55 #FFCC22 #FFBB00 #DDAA00 #AA7700 #886600
#FFFFBB #FFFF77 #FFFF33 #FFFF00 #EEEE00 #BBBB00 #888800
#EEFFBB #DDFF77 #CCFF33 #BBFF00 #99DD00 #88AA00 #668800
#CCFF99 #BBFF66 #99FF33 #77FF00 #66DD00 #55AA00 #227700
#99FF99 #66FF66 #33FF33 #00FF00 #00DD00 #00AA00 #008800
#BBFFEE #77FFCC #33FFAA #00FF99 #00DD77 #00AA55 #008844
#AAFFEE #77FFEE #33FFDD #00FFCC #00DDAA #00AA88 #008866
#99FFFF #66FFFF #33FFFF #00FFFF #00DDDD #00AAAA #008888
#CCEEFF #77DDFF #33CCFF #00BBFF #009FCC #0088A8 #007799
#CCDDFF #99BBFF #5599FF #0066FF #0044BB #003C9D #003377
#CCCCFF #9999FF #5555FF #0000FF #0000CC #0000AA #000088
#CCBBFF #9F88FF #7744FF #5500FF #4400CC #2200AA #220088
#D1BBFF #B088FF #9955FF #7700FF #5500DD #4400B3 #3A0088
#E8CCFF #D28EFF #B94FFF #9900FF #7700BB #66009D #550088
#F0BBFF #E38EFF #E93EFF #CC00FF #A500CC #7A0099 #660077
#FFB3FF #FF77FF #FF3EFF #FF0 0FF #CC00CC #990099 #770077

Continue reading “CSS颜色代码大全”

linux安全配置/etc/sudoers&wheel组

/etc/sudoers 控制哪些用户能在哪些主机上以哪些用户的身份执行哪些命令。只有此文件权限为440时才能用户才能使用sudo命令,只有root用户才能使用visudo命令修改此文件。当然也可以先添加文件写权限,然后修改,再把文件权限改回来。
此文件的一些配置规则
定义别名:
User_Alias UserName = user1,user2,kongove
Host_Alias HostName = host1,host2,221.11.20.10
Cmnd_Alias CmdName = cmd1,/bin/ls,!/sbin/reboot
UserName、HostName、CmdName为定义的别名。

缺省情况使用Defaults设置:
Defaults:UserName !lecture
默认UserName没有输出初次使用sudo的提示。

限定用户权限:
语句形式:User Host = (USER) Cmd
语意:User在Host上,以USER的身份执行Cmd命令

User可以是单个用户、%用户组、用户别名
Host可以是但个主机名Ip、主机别名
USER可以是单个用户、多个用户名、用户别名
Cmd可以是但个命令、多个命令、命令别名

几个例句:
root ALL = (ALL) ALL
%wheel ALL = (ALL) ALL
%admin ALL = (ALL) ALL
UserName HostName = (USER) CmdName
kongove ALL =ALL,!su,!lecture

在用户名、主机名(IP)、命令前使用“!”表示非指定对象。

这里对/etc/sudoers的配置只是总结了一点点,但有这些已经可以完成简单的安全配置了。

默认情况下,任何普通用户都可以通过su命令获得root用户的

权限,对系统进行任何的操作。为了加强系统安全,Linux提供一个管理员组,只有属于这个组的用户才能使用su命令获得root权限,这个组通常为wheel

为了实现属于wheel组的用户才具有root权限,需要两个步骤:
1、将用户添加只wheel组:usermod -G wheel username
2、修改/etc/pam.d/su, 添加
auth required pam_wheel.so use_uid

强调一点:Linux病毒少不是因为Linux不如Windows流行,而在于她的整体设计!

集体活动

昨天出去唱歌,聚餐。

在回来路上磊子、宋飞他们挑衅俺,正好碰见付鹏程和张斌,于是十几个人又到食堂一楼一人小喝了几瓶,好久没喝白的了,一个字—爽!(声明:花费由个人承担!)

后面我们聊了好多小组的事和个人学习发展的事,由于酒精的作用大家都没有什么拘束,说出了许多心里话,反应出了许多深层次的问题。其中有明洁的分析,有付鹏程的感叹,有李磊的豪言壮语,有宋飞的……

相信我们每一个人都会记住那天晚上说过的话!

看来以后小组一些重要问题讨论前,先得让大家兴奋起来~~

总结

加入Linux兴趣小组一年半了,回头想想,自己长进确实很大,非常感谢老师和同学的指导帮助。

这学期我们小组还是以项目为中心,附带讲座、培训及各种外联活动。根据大家兴趣分成了四个项目组,分别涉及开发Linux下局域网文件传书工具PIEGINS、编写系统备份工具XYBACKUP、Java手机游戏开发、服务器配置。

我参与的是系统备份工具的开发,这个备份工具是用Linux下的Bash编写的,语法简单可控性较强。从最初的需求文档撰写、程序流程图设计,到后边分模块代码详设,我们都是分工明确、任务落实到个人,并通过小组活动时间讨论、Google新闻组、GTALK即时通信工具等进行项目交流,确保项目能够顺利进行,即时解决存在的技术及其他问题,这样就保证了项目的进度和 程序的质量。

初期针对大家对Shell编程基础薄弱的情况,组织了数次培训讲座,迅速提升Shell编程的能力。程序流程图设计时,由于多数同学对大型软件没有经验,不知从何下手。于是,我们先简化软件功能,降低问题的复杂度,设计了一个只完成基本功能的流程图,经过多次完善和补充,不但添加了最初的一些功能,而且在后期的代码编写中起到了极其重要的指导作用,让大家体会到了软件工程开发模式的优点,也达到了小组通过项目提升能力的最初目的。开发备份工具,用到了以前学到的Shell基本命令、tar工具的使用、CVS版本控制工具的使用等知识,这使得大家真正体会到学有所用,增加了学习的动力和参与小组活动的热情,形成了良性循环。

做完备份工具,我还参与了PIEGINS的一些活动,在这个项目中主要涉及网络通信、数据处理、多进程交互、文件读写等问题,初期采用C++语言编写,实现基本功能后,考虑到C++ SOCKET编程标准不是很规范,于是用Linux下C改编PIEGINS原来的代码,现在项目还为完成,我们准备利用假期、下学期完善它。如果可能,我们准备遵循飞鸽传书标准协议,使把它与Windows下的飞鸽传书能够正常通信。同时,视频、语音功能也在我们的考虑范围之内,这样能大大增强软件的实用性和创新价值。

同时通过参与小组的一些外联活动,也让我看到了新的机会和挑战,看到了与他人之间的差距。这学期小组承办了第四届国际自由软件日(西安),并邀请了中国开源文化名人王开源、徐继哲做了相关知识讲座,部分成员参加了2007 Linux World China,还报名参加了中科院第二届开源软件大赛、红旗Linux全国知识竞赛,并获得了优秀成绩。参与这些活动,我明显感觉到自己知识面的狭窄、和所学知识的浮浅,真是人外有人,天外有天。同时个人金奖的获得让我对自己更有信心,对自己的付出、发展方向更加坚信。

这学期我是小组的负责人,如何带动大家的积极性、如何管理好小组、如何把小组发展的更好、如何让大家提高更多、如何让小组做出更有意义和价值的东西、如何让其他人更加认可我们小组……这是我一直以来都在思考的问题。以前接触的管理不是很多,再加上这么一个具体的兴趣小组、开放实验,我只能是多向有经验的同学请教,自己多总结,大胆尝试。一学期下来,我个人认为总的来说还可以,大家基本都参与了,大家多多少少都提高了。其实项目的管理对项目的进度、人力资源的利用、软件质量和成本,都有很大的影响。

又要放寒假了,我准备和以前一样利用这段时间,好好补充一下自己的知识,这样我就不会落后,才能获得更大的进步。

再次感谢老师和同学的指导帮助!

网络0502 孔建军

2008春节联欢晚会节目单

1、开场歌舞《百鼠闹春》幼儿园小朋友装扮成可爱的米老鼠与2008北京奥运会的5个吉祥娃娃一起连唱带跳进行表演。

2、歌舞组合《春天来了》由全国选拔出40名想在歌坛出名的男女歌手每人轮流演唱一句。

3、舞蹈《56个民族》由560名男女舞蹈演员身穿各自民族服装轮流上场表演。

4、小品《相约2008》由参加2008北京奥运会的著名运动员与著名小品演员联合表演。

5、交响乐《2008北京奥运》。

6、相声《老鼠爱大米》。

7、戏曲《老鼠偷油》。

8、穿插春节慰问短信(向守卫在祖国边疆的战士致敬,画面——边防战士在冰天雪地哨所的国旗下,手握钢枪向祖国人民问好。蓝色的海洋,

威武的海军战士整齐地排列在舰艇甲板上,齐声高呼:祖国万岁,向全国人民拜年!宽阔的机场跑道边,战斗机整齐地一字排列,空军战士在

雄鹰旁亮出鲜红的标语:向祖国人民拜年!)。

9、滑稽杂技《猫捉老鼠》。

10、魔术《喜迎奥运》。

11、朗诵《奥运之光》。

12、武术表演《武松打鼠》。

13、插播来自海内外同胞的拜年短信,我国驻外使馆工作人员向祖国人民的拜年的镜头。

14、全体演出人员在主持人的召集下登台倒计时,主持词:“现在,2008的年春天正在向我们走来,让我们一起迎接这激动人心的时刻,一起

敲响 2008年的钟声!”(众人与主持人一起齐声高喊)10、9、8、7、6、5、4、3、2、1!2008钟声开始敲响。伴随着浑厚嘹亮的钟声,大家

欢呼!大家跳跃!礼花四射!鞭炮齐鸣!锣鼓震天!音乐激昂!彩球飞扬!联欢晚会沸腾了,把联欢晚会推向高潮。

15、结束歌舞组合《难忘今宵》全体演职人员登场,互相致意问候拜年,相约2009。

<–来自百度 –>

内存分配程序

这是一个内存分配的实验题目 (再次更新于11.23 5:33,感谢牛涛同学的指错,欢迎大家在提意见,以改进程序!)
#include
#include
#include /*if you compize in linux system,you need this line*/
/*#include */

#define MIN_SLICE 10 /*default size of slice*/
#define DEFAULT_MEM_SIZE 1024 /*default size of memory*/
#define DEFAULT_MEM_START 0 /*default start address of memory*/

/* the method of manager memory*/
#define MA_FF 1
#define MA_BF 2
#define MA_WF 3

int mem_size = DEFAULT_MEM_SIZE; /*size of memory*/
int ma_algorithm = MA_FF; /*the working method*/
static int pid = 0; /*default pid*/
int flag;
int start_addr = DEFAULT_MEM_START;
struct free_block_type{
int start_addr;
int size;
struct free_block_type *next;
}*free_block;

struct allocated_block{
int pid;
int size;
int start_addr;
char process_name[12];
struct allocated_block *next;
};

struct allocated_block *allocated_block_head = NULL;

struct free_block_type* init_free_block(int mem_size){
struct free_block_type *fb;
fb = (struct free_block_type *)malloc(sizeof(struct free_block_type));
if (fb == NULL){
printf(“No memn”);
return NULL;
}
fb->size = mem_size;
fb->start_addr = DEFAULT_MEM_START;
fb->next = NULL;
return fb;
}

int set_mem_size(){
int size;
printf(“Total memory size =”);
scanf(“%d”, &size);
if (size > 0) {
free_block->size = size;
}
return 1;
}

void swap(struct free_block_type *p,struct free_block_type *temp)
{
int n;
n = p->size;
p->size = temp->size;
temp->size = n;
n = p->start_addr;
p->start_addr = temp->start_addr;
temp->start_addr = n;
}

void rearrange_FF()
{
struct free_block_type *p,*temp;
printf(“Rearrange free blocks for FF n”);
p = free_block;
while (p->next != NULL)
{
temp = p->next;
while (temp != NULL)
{
if (p->start_addr > temp->start_addr)
swap(p,temp);
temp = temp->next;
}
p = p->next;
}
}

void rearrange_BF(){
struct free_block_type *p,*temp;
printf(“Rearrange free blocks for BF n”);
p = free_block;
while (p->next != NULL)
{
temp = p->next;
while (temp != NULL)
{
if (p->size > temp->size)
swap(p, temp);
temp = temp->next;
}
p = p->next;
}
}

void rearrange_WF(){
struct free_block_type *p,*temp;
printf(“Rearrange free blocks for WF n”);
p = free_block;
while (p->next != NULL)
{
temp = p->next;
while (temp != NULL)
{
if (p->size size)
swap(p,temp);
temp = temp->next;
}
p = p->next;
}
}

void rearrange(int algorithm){
switch(algorithm){
case 1: rearrange_FF(); break;
case 2: rearrange_BF(); break;
case 3: rearrange_WF(); break;
}
}

void do_exit(){
printf(“Exit this programme!n”);
}

struct allocated_block *find_process(int pid){
struct allocated_block *ab;
ab = allocated_block_head;
while (ab->pid != pid&&ab->next != NULL) ab = ab->next;
if (ab->pid != pid){
printf(“Not process:%dn”, pid);
return NULL;
}
else
return ab;

}

void display_menu(int i){
printf(” —————————————————————n”);
printf(“| 1 : Set the size of memory |n”);
printf(“| 2 : Set the method of management |n”);
printf(“| 3 : Creat new process |n”);
printf(“| 4 : Delete process |n”);
printf(“| 5 : Display the status of memory |n”);
printf(“| 0 : Quit the programme |n”);
printf(” ———————–Commands : %4d ————————-n”,i);
}

void set_algorithm(){
int algorithm;
printf(“t1 – First Fitn”);
printf(“t2 – Best Fit n”);
printf(“t3 – Worst Fit n”);
scanf(“%d”, &algorithm);
if (algorithm >= 1 && algorithm size;
ab2 = ab;
fbt = pre = free_block;
while (fbt != NULL){

if (fbt->size >= request_size){
if (fbt->size start_addr = fbt->start_addr;
ab->size = fbt->size;
/*ab->next=fbt->next;
printf(“ab_start_ad:%d fbt:%dn”,ab->start_addr, fbt->start_addr);*/
if (fbt == free_block)
free_block = fbt->next;
else {
while (pre->next != fbt) pre = pre->next;
pre->next = fbt->next;
}
}
else {
fbt->size -= request_size;
ab = (struct allocated_block *) malloc(sizeof(struct allocated_block));
ab->start_addr = fbt->start_addr;
ab->size -= fbt->size;
fbt->start_addr += request_size;
}
start_addr = ab->start_addr;
return 1;
}
else {
pre = fbt;
fbt = fbt->next;
}
}
return -1;
}

int new_process(){
struct allocated_block *ab;
int size;
int ret;
ab = (struct allocated_block *)malloc(sizeof(struct allocated_block));
if (!ab) exit(-5);
ab->next = NULL;
pid++;
sprintf(ab->process_name, “PROCESS-%02d”, pid);
ab->pid = pid;

printf(“Memory for %s:”, ab->process_name);
scanf(“%d”, &size);
if (size > 0) ab->size = size;
ret = allocate_mem(ab);
ab->start_addr = start_addr;
if ((ret == 1) && (allocated_block_head == NULL)){
allocated_block_head = ab;
ab->start_addr = start_addr;
start_addr += ab->size;
return 1;
}
else if (ret == 1) {
ab->next = allocated_block_head;
allocated_block_head = ab;
return 2;
}
else if (ret == -1){
printf(“Allocation failn”);
free(ab);
return -1;
}
return 3;
}

int free_mem(struct allocated_block *ab){
int algorithm = ma_algorithm;
struct free_block_type *fbt, *work;
fbt = (struct free_block_type *) malloc(sizeof(struct free_block_type));
if (fbt == NULL){
printf(“Fail malloc!n”);
return (int)NULL;
}
fbt->size = ab->size;
fbt->start_addr = ab->start_addr;
fbt->next = free_block;
free_block = fbt;
rearrange(MA_FF);
fbt = free_block;
/*sort the memory*/
while (fbt != NULL){
work = fbt->next;
if (work != NULL){
if (work->start_addr == fbt->size+fbt->start_addr){
fbt->size = fbt->size+fbt->next->size;
fbt->next = fbt->next->next;
continue;
}
}
fbt = fbt->next;
}
rearrange(algorithm);/*sort the memory again */
return 1;
}

int dispose(struct allocated_block *free_ab){
struct allocated_block *pre, *ab;

if (free_ab == allocated_block_head) {
allocated_block_head = allocated_block_head->next;
free(free_ab);
return 1;
}

pre = allocated_block_head;
ab = allocated_block_head->next;

while (ab != free_ab){ pre = ab; ab = ab->next; }
pre->next = ab->next;
free(ab);
return 2;
}

void kill_process(){
struct allocated_block *ab;
int pid;
printf(“Kill Process, pid =”);
scanf(“%d”, &pid);
ab = find_process(pid);

if (ab != NULL){
free_mem(ab);
dispose(ab);
}
}

int display_mem_usage(){
struct free_block_type *fbt=free_block;
struct allocated_block *ab=allocated_block_head;
if (fbt == NULL) return(-1);
printf(“———————————————————-n”);
printf(“Free Memory:n”);
printf(“%26s %20sn”, ” start_addr”, ” size”);
while (fbt != NULL){
printf(“%26d %20dn”, fbt->start_addr, fbt->size);
fbt = fbt->next;
}
printf(“nUsed Memory:n”);
printf(“%10s %15s %10sn”, “PID”, “start_addr”, ” size”);
while (ab != NULL){
printf(“%10d %15d %10dn”, ab->pid, ab->start_addr, ab->size);
ab = ab->next;
}
printf(“———————————————————-n”);
return 0;
}

int main(void){
char choice[10];
int i;
printf(” The Programme Of Manager Memorynnn”);
printf(” Made by Jianjun Kongnn”);
pid=0;
free_block = init_free_block(mem_size); /*init the free block*/
for (i = 1; ; i++){
display_menu(i);
fflush(stdin);
printf(“command>”);
scanf(“%s”, choice);
switch(choice[0]){
case ‘1’:set_mem_size(); break; /*Set the size of memory*/
case ‘2’: set_algorithm(); flag=1; break; /*Set the method of management*/
case ‘3’: new_process(); flag=1; break; /*Creat new process*/
case ‘4’: kill_process(); flag=1; break; /*Delete process*/
case ‘5’: display_mem_usage(); flag=1; break; /*Display the status of memory*/
case ‘0’: /*Quit the programme*/
case ‘q’: do_exit(); exit(0); break; /*Quit the programme*/
default : printf(“Wrong usage!n”); break; /*Wrong usage*/
}
}
}