实验下载地址: https://github.com/xuzhezhaozhao/CSAPP-Labs.git

或 http://download.csdn.net/detail/xuzhezhaozhao/5341206

这个实验内容是实现一个unix下的简易shell, 需要实现的功能包括bg, fg等作业控制命令, 还需要实现ctrl-c, ctrl-z等信息的处理, 由于实现这个shell需要进行多进程的编程,这是第一次进行多进程编程,用GDB调试的时候比较不熟练,问题也是稀奇古怪的,感觉最麻烦的那个waitfg函数的实现,开始用简单的sleep, 结果问题多多,因为只要进程接收到信号,sleep函数就会退出。最后搞了几天终于是把程序都调好了,16个测试文件前15个都能通过,第16不知道怎么测试,说是不从终端接收信号,要从别的进程接收信号,不知道怎么搞。


关于用GDB调试信号的处理可以看我的这篇blog:http://blog.csdn.net/xuzhezhaozhao/article/details/8894836.

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐