嵌入式Linux题库(5)

2018-12-29 22:46

}

A、(sockfd = socket(AF_INET,SOCK_STREAM,0))== -1 B、(sockfd = socket(AF_INET,SOCK_STREAM,0))== 0 C、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== -1 D、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== 0 <题目>下面的程序为客户器端应用程序,客户端在建立起socket之后调用connect函数来建立连接。请选出应填写在空白处的选项。 #define SERVPORT 3333 #define MAXDATASIZE 100 main(int argc,char *argv[]) { int sockfd,sendbytes; char buf[MAXDATASIZE]; struct hostent *host; struct sockaddr_in serv_addr; if(argc < 2) { fprintf(stderr,\ exit(1); } /*地址解析函数*/ if((host=gethostbyname(argv[1]))==NULL) { perror(\ exit(1); } /*创建socket*/ if( ____B______ ) { perror(\ exit(1); } /*设置sockaddr_in 结构体中相关参数*/ serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(SERVPORT); serv_addr.sin_addr=*((struct in_addr *)host->h_addr); bzero(&(serv_addr.sin_zero),8); /*调用connect函数主动发起对服务器端的连接*/ if(connect(sockfd,(struct sockaddr *)&serv_addr,sizeof(struct sockaddr))== -1) { perror(\ exit(1); } /*发送消息给服务器端*/

if((sendbytes=send(sockfd,\ { perror(\ exit(1); } close(sockfd); }

A、(sockfd = socket(AF_INET,SOCK_STREAM,0))== 0 B、(sockfd = socket(AF_INET,SOCK_STREAM,0))== -1 C、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== 0 D、(sockfd = socket(AF_INET,SOCK_STREAM,-1))== -1

<题目>下面的程序首先新建一子进程,然后让其子进程暂停5s。接下来对原有的父进程使用阻塞函数,并使用参数使该父进程不会阻塞。若有子进程退出,则阻塞函数返回子进程号;若没有子进程退出,则阻塞函数返回0,并且父进程每隔一秒循环判断一次。请选出应填写在空白处的选项。 int main() { pid_t pc,pr; _____A_____; if(pc<0) printf(\ /*子进程*/ else if(pc==0) { /*子进程暂停5s*/ sleep(5); /*子进程正常退出*/ exit(0); } /*父进程*/ else { /*循环测试子进程是否退出*/ do { /*调用waitpid,且父进程不阻塞*/ pr=waitpid(pc,NULL,WNOHANG); /*若子进程还未退出,则父进程暂停1s*/ if(pr==0) { printf(\ sleep(1); } }

while(pr==0); /*若发现子进程退出,打印出相应情况*/ if(pr==pc) printf(\ else printf(\ } }

A、pc=fork() B、pc=open(pr) C、pc=pr D、pr=pc

<题目>下面的程序首先新建一子进程,然后让其子进程暂停5s。接下来对原有的父进程使用阻塞函数,并使用参数使该父进程不会阻塞。若有子进程退出,则阻塞函数返回子进程号;若没有子进程退出,则阻塞函数返回0,并且父进程每隔一秒循环判断一次。请选出应填写在空白处的选项。 int main() { pid_t pc,pr; pc=fork() if(pc<0) printf(\ /*子进程*/ else if(pc==0) { /*子进程暂停5s*/ sleep(5); /*子进程正常退出*/ exit(0); } /*父进程*/ else { /*循环测试子进程是否退出*/ do { /*调用阻塞函数,且父进程不阻塞*/ ____D______; /*若子进程还未退出,则父进程暂停1s*/ if(pr==0) { printf(\ sleep(1); } } while(pr==0); /*若发现子进程退出,打印出相应情况*/

if(pr==pc) printf(\ else printf(\ } }

A、pc=wait(pc,NULL,WNOHANG) B、pc=waitpid(pc,NULL,WNOHANG) C、pr=wait(pc,NULL,WNOHANG) D、pr=waitpid(pc,NULL,WNOHANG) <题目>下面的程序建立一个守护进程,该守护进程每隔10s在/tmp/dameon.log中写入一个字符串。请选出应填写在空白处的选项。 #define MAXFILE 65535 int main() { pid_t pc; int i,fd,len; char *buf=\ len =strlen(buf); /*第一步*/ ____A______; if(pc<0) { printf(\ exit(1); } else if(pc>0) exit(0); /*第二步*/ setsid(); /*第三步*/ chdir(\ /*第四步*/ umask(0); /*第五步*/ for(i=0;i<MAXFILE;i++) close(i); /*这时创建完守护进程,以下开始正式进入守护进程工作*/ while(1) { if((fd=open(\Y|O_APPEND,0600))<0) { perror(\ exit(1); } write(fd, buf, len+1);

close(fd); sleep(10); } }

A、pc=fork() B、fd=open(pc) C、pc=fd D、pc=open(buf) <题目>下面的程序建立一个守护进程,该守护进程每隔10s在/tmp/dameon.log中写入一个字符串。请选出应填写在空白处的选项。 #define MAXFILE 65535 int main() { pid_t pc; int i,fd,len; char *buf=\ len =strlen(buf); /*第一步*/ pc=fork(); if(pc<0) { printf(\ exit(1); } else if(pc>0) exit(0); /*第二步*/ setsid(); /*第三步*/ chdir(\ /*第四步*/ umask(0); /*第五步*/ ____D______ close(i); /*守护进程创建完成,以下开始正式进入守护进程工作*/ while(1) { if((fd=open(\Y|O_APPEND,0600))<0) { perror(\ exit(1); } write(fd, buf, len+1); close(fd); sleep(10); }


嵌入式Linux题库(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:街道2018年党建工作调研报告

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

马上注册会员

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