第6章文件处理与进程控制探究.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 文件处理与进程控制;本章要点;6.1嵌入式Linux的文件处理;6.1.1 文件描述符及文件处理 ;2、系统调用 ;3、文件处理;6.1.2 open函数和close函数 ;1、open函数;2、close函数;3、示例 ;6.1.3 read函数、write函数和lseek函数;1、read函数 ;2、write函数;3、lseek函数 ;4、示例;6.2 进程与进程控制;6.2.1 进程;1、什么是进程;2、进程的标识;【例6-4】 获取当前进程的进程号PID。 ; 将程序保存为proID.c,使用交叉编译命令arm-linux-gcc进行交叉编译: [root@localhost test]# arm-linux-gcc -o proID proID.c 将其下载到嵌入式系统开发板上运行该程序: [root@localhost ex5]# ./proID PID = 3061 注意,每次执行结果都不一定相同。;3、创建进程;【例6-5】创建一个进程。;将程序保存为process.c,使用交叉编译命令arm-linux-gcc进行交叉编译: [root@localhost test]# arm-linux-gcc -o process process.c 将其下载到嵌入式系统开发板上运行该程序: [root@localhost ex5]# ./process PID = 0 PID = 4138;6.2.2 进程控制;1、调用exec函数运行执行程序;2、exec函数族;【例6-6】应用execlp函数列出当前目录下的所有文件。;在该程序中,首先使用fork()函数创建一个子进程,然后在子进程里使用execlp()函数。从程序中可以看到,这里的参数列表列出了在shell中使用的命令名和选项。 将文件保存为execlp.c,使用交叉编译命令arm-linux-gcc进行交叉编译: [root@localhost test]# arm-linux-gcc -o execlp execlp.c 将其下载到嵌入式系统开发板上运行该程序,运行结果如下所示: [root@localhost test]# ./execlp execlp execlp.c proid proid.c;3、System函数;4、进程调用的应用示例;7 printf(Hello.c Compile successfully! \n); 8 if(fork( )==0) 9 { 10 /* 调用execlp函数执行运行程序命令 */ 11 if( execlp(./Hello, Hello, NULL) 0) 12 { 13 printf(execlp error \n); 14 } 15 } 16 sleep(1); /* 延时1秒,以等待Hello的输出结果 */ 17 printf(Hello run successfully! \n); 18 }; 将程序保存为comple.c,使用编译命令gcc进行编译程序: [root@localhost test]#gcc -o comple comple.c 将已经编写好的源程序Hello.c保存在同一目录下,运行comple程序,运行结果如下: [root@localhost test]# ./comple Hello.c Compile successfully! Hello!??             Hello run successfully!;【例6-9】编写计算1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 的程序,将其保存到文件sum.c中,然后自动编译并运行该程序。 ;8 int fd; 9 int len, size_r, size_w; 10 char *buf = #include stdio.h \n int main() \n{\nint i,s=0; \n for(i=1; i=10; i++) \n { \n s=s+i; \n printf(\%d=%d+%d\\n\,s,s-i,i); \n } \n } \n; 11 fd=open(sum.c, O_CREAT|O_TRUNC|O_RDWR, 0666); 12 len = strlen(buf); 13 size_w = write(fd, buf, len); 14 ;15 char *buf_r[500]; 16

文档评论(0)

1112111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档