天天看点

CSAPP: shell lab

实验下载地址: 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.