intbuiltin_cmd(char**argv)//当是shell内置命令时,执行它自己的{if(!strcmp(argv[0],"quit"))//equalexit(0);if(!strcmp(argv[0],"&"))//ignore singleton &return1;if(!strcmp(argv[0],"bg")||!strcmp(argv[0],"fg")){do_bgfg(argv);//前台后台统一处理return1;}if(!strcmp(argv[0],...
【CSAPP】Shell Lab 实验笔记 shlab这节是要求写个支持任务(job)功能的简易shell,主要考察了linux信号机制的相关内容。难度上如果熟读了《CSAPP》的“异常控制流”一章,应该是可以不算困难的写出来。但如果读书不仔细,或者实践的时候忘记了部分细节,那就可能完全不知道怎么下手,或者得改bug改到吐了。我自己写了大概...
也算比较有挑战性的一个lab,可以说是基本由自己去做一个完整的 shell 的功能,锻炼的其实是大局观。如果有书本函数作为参考应该说会容易一些。 实验环境 Ubuntu 18.04 LTS实体机 实验材料 Writeupcsapp.cs.cmu.edu/3e/shlab.pdf Slidewww.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/recitations/...
前言 在这篇博客中,我将介绍一些shell lab的预备知识,包括什么是异常、什么是进程和信号,并在其中附上了可能会用到的一些函数,大致顺序按照CSAPP第八章行文顺序进行。希望通过shell lab实验,加深对异常控制流的理解 8.1异常控制流 异常控制流(Exceptional Control Flow,ECF)是指程序执行中发生的意外或特殊的事件,导致...