Linux系统及编程基础习题答案(4)

2019-01-10 14:14

for(i=0;i<50;i++)

{ printf(\ } else {

while ((p2=fork())==-1); if (p2==0) {

for (j=0;j<50;j++)

{ printf(\ } else {

for(k=0;k<50;k++){printf(\

} } }

从运行结果可知父亲进程、女儿进程、儿子进程并发执行。 如果在每个printf后面加上sleep(1),结果如下:

从运行结果可知加上sleep后父进程和两个子进程并发程度更大。

8.编写一个程序,该程序当我们输入Ctrl+C时输出字符串― I got signal‖。在其余的时间,该程序只是无限循环,每一秒输出一条―hello world‖信息。 #include #include #include void ouch(int sig) {

printf(\ (void) signal(SIGINT,SIG_DFL); }

int main() {

(void) signal(SIGINT,ouch); while(1) {

printf(\ sleep(1);

} }

9.编写程序,实现简单shell的基本功能。读入用户从键盘输入的命令,并执行它。 #include main() {

char command[32]; char * prompt=\ while (printf(\ { if (fork()==0) execlp(command,command,(char*)0); else wait(0); } }

10.利用文件系统的系统调用creat()、open()、read()、write()、close()编写一个程序,把一个文件读出写到另一个文件中,实现简单的copy功能。 main(argc,argv) int argc; char *argv[]; {int fd1,fd2,n; char buf[512];

fd1=open(argv[1],0); fd2=creat(argv[2],0644);

while((n=read(fd1,buf,512))>0) write(fd1,buf,n); close(fd1); close(fd2); }


Linux系统及编程基础习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第三章练习题及参考解答

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: