已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统编程机试试卷答案一编程题:(共4题100分)1、 利用文件描述符的方式实现将a.txt中的内容拷贝到b.txt中 (运行:./cp a.txt b.txt)#include #include #include #include char *res = copy succeed!n;char *fail = illegal parameter!n;intmain(int argc, char *argv)if(argc != 3)write(STDOUT_FILENO, fail, strlen(fail);exit(2);intfdin, fdout;if(fdin = open(argv1, O_RDONLY) = -1)exit(2);if(fdout = open(argv2, O_WRONLY|O_CREAT, 0777) = -1)exit(2);char buff256;ssize_tnreads;while(nreads = read(fdin, buff, 256) != 0)if(write(fdout, buff, nreads) != nreads)exit(2);close(fdin);close(fdout);write(STDOUT_FILENO, res, strlen(res);return 0;2.#include #include #include #include #include #include int global = 6;char outstr = parent process begin!n;intmain(void)pid_tpid;intvalue = 88;write(STDOUT_FILENO, outstr, sizeof(outstr) - 1);printf(begin forkingn);if(pid = fork() = -1)printf(fork errorn, strerror(errno);exit(2);if(pid = 0)global+;value +;if(pid 0)sleep(2);printf(process id is %d, global is %d, value is %dn, pid, global, value);exit(0);3.#include #include #include #include void signal_handler(int);intmain(void)pid_tpid;if(signal(SIGCHLD, signal_handler) = SIG_ERR)printf(signal errorn);if(pid=fork() 0) /parentint i = 0;for(;)printf(parent: i is %dn, +i);sleep(1);else/childint i = 0;for(; i 10; i+)printf(child: i is %dn, i);sleep(2);_exit(0);exit(0);void signal_handler(int signo)if(signo = SIGCHLD)printf(child process dead!n);wait(NULL);exit(0);4.#include #include #include #include void*th_fn(void *arg)int i = 1;char *n = (char*)arg;for(i = 1; i = 100; i+)printf(%s, %dn, n, i);intmain(void)pthread_attr_tattr;pthread_attr_init(&attr);pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);pthread_ttid;int err;if(pthread_create(&tid, &attr, th_fn, detached) != 0)printf(pthread create errorn);if(err=pthread_join(tid, NULL) != 0)printf(join errorn, strerror(err);return 0;5.服务器端:#include #include #include #include #include #include #include #defineSOCKADDR structsockaddrvoidout(struct sockaddr_in *adr)char str16;printf(sockaddresst%s:%dn, inet_ntop(AF_INET, (SOCKADDR*)&adr-sin_addr.s_addr, str, 16),ntohs(adr-sin_port);intmain(void)int port = 8888;intfd;struct sockaddr_in server, client;/1 construct socket for IPV4 and TCPif(fd=socket(AF_INET, SOCK_STREAM, 0) = -1)printf(socket error: %sn, strerror(errno);exit(2);/2 construct address struct and initializationmemset(&server, 0, sizeof(server);server.sin_family = AF_INET;server.sin_port = htons(port);server.sin_addr.s_addr = INADDR_ANY;/inet_pton(AF_INET, 172.16.1.17, &server.sin_addr.s_addr);/3 bind socket to addressif(bind(fd, (SOCKADDR*)&server, sizeof(server) = -1)printf(bind errorn);exit(2);/4 notify the kernel accepting connection requestlisten(fd, 0);socklen_tlen = sizeof(client);while(1)/ 5 waiting for the client connectionint sockfd = accept(fd, (SOCKADDR*)&client, &len);out(&client);time_t t = time(NULL);char *p = ctime(&t);/ 6 send the datawrite(sockfd, p, strlen(p);/ 7 close the socketclose(sockfd);close(fd);客户端:#include #include #include #include #include #include #include intmain(int argc, char *argv)int fd;struct sockaddr_inserver;/1construct the socket for ipv4 and tcpif(fd=socket(AF_INET, SOCK_STREAM, 0) = -1)printf(socket error:%sn, strerror(errno);exit(2);/2 construct server addressmemset(&server, 0, sizeof(server);server.sin_family = AF_INET;server.sin_port = htons(atoi(argv2);inet_pton(AF_INET, argv1, (struct sockaddr *)&server.sin_addr.s_addr);/3 connect to the serverif(connect(fd, (struct sockaddr*)&server, sizeof(server) = -1)printf(can not connect to server:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考复习古文阅读试题详解
- 中考语文复习看图写话技巧
- 中考语文复习名篇语言表达技巧
- 形象宣传片拍摄策划模板脚本
- 《无人机航拍技术 第2版》教案 2-2-1 无人机航拍的应用、2-2-2无人机航拍的发展趋势
- 2024年强力不粘钩合作协议书
- 层递式教学在初中作文教学中的应用实践探索
- 指向计算思维培养的 初中Python教学策略建构与实践
- 2024年多路信号老化检测系统项目合作计划书
- 高二上学期期末《语文》试卷及答案
- GB 31645-2018食品安全国家标准胶原蛋白肽
- GB 13614-2012短波无线电收信台(站)及测向台(站)电磁环境要求
- 郑州大学第一附属医院河南康复专科护士培训班理论考试题附答案
- 《细胞工程学》考试复习题库(带答案)
- 2023年合肥兴泰金融控股(集团)有限公司招聘笔试题库及答案解析
- 内科护理学课件肝性脑病讲义
- 2023年渭南市合阳县医院医护人员招聘笔试题库及答案解析
- (完整版)学前教育课程标准
- 履约专项检查表
- 万里长城简介
评论
0/150
提交评论