




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 成 绩: 嵌入式Linux应用程序开发作业与上机实验(三) 班 级: 12级电实班 学 号: 姓 名: 邹 辉 任课老师: 张 舸 完成时间: 2014/10/26 信息与通信工程学院20142015学年第 1 学期实验三 守护进程编写一、实验目的1.熟悉Linux系统中守护进程的基本概念。2.掌握Linux系统中守护进程编写方法。二、实验内容1.建立一个守护进程,然后在该守护进程中新建一个子进程,该子进程暂停10s,然后自动退出,并由守护进程收集子进程退出的消息。子进程退出后,守护进程循环暂停,其间隔时间为10s。2.要求子进程和守护进程的退出消息均在/var/l
2、og/messages中输出。3.画出流程图,通过编程实现。4.在实验平台上运行,记录实验过程与实验现象,并进行简单分析。三、实验参考1.守护进程创建流程图2.参考源代码/*proc_daemon.c*/#include #include #include #include #include #include #define MAXFILE 65535int main(void)pid_t child1,child2;int i;child1 = fork()if( child1 = -1 ) /创建守护进程perror(child1 fork); /错误处理exit(1);else if(
3、child1 0 )exit( 0 );openlog(exc2_info, LOG_PID, LOG_DAEMON);setsid(); /在子进程中创建新的会话 chdir( / ); /改变当前目录为根目录umask( 0 ); /重设文件权限掩码for( i = 0 ; i get shouhu_a /var/shouhu_a (13)、待文件传输完成后断开FTP连接,输入FTP内部命令如下。 quit (14)、查看目标文件shouhu_a属性,输入命令如下。 # ls -l 检查实验平台的/var/shouhu_a与Ubuntu的/home/ftp/teat_a文件大小是否一致,如
4、不一致,则需重新登录FTP服务器进行下载。 (15)、如shouhu_a无可执行权限,则需添加可执行权限,输入命令如下。 # chmod a+x shouhu_a (16)、执行shouhu,输入命令如下。 # ./shouhu_a (17)、启动syslogd的守护进程,通过syslog记录事件,输入命令如下。 # syslog (18)、再次执行shouhu,输入命令如下。 # ./shouhu_a (19)、改变路径 # cd /var/log (19)、查看系统日志文件 # vi messages如果在实验平台的显示器上显示如图一所以结果,则实验成功; 图一 正确记录五、思考题1.说明
5、创建一个守护进程的基本过程。答:(1).创建子进程,父进程退出 (2).在子进程中创建新的会话 调用setsid()函数,作用有三个,让进程摆脱原会话的控制;让进程摆脱原进程组的控制;让进程摆脱原控制终端的控制,这里需要介绍进程组和会话组的概念; 进程组:是一个或多个进程的集合,由进程组ID来唯一标识,进程组组长的进程号等于该进程组的ID,且组长进程的退出不会影响该ID。 会话组:由一个或多个进程组构成,一个会话开始于用户登录,终止于用户退出,在此期间该用户运行的所有进程都属于这个会话。虽然经过第一步,但是子进程完全拷贝父进程的东西,导致,原先的会话期,进程组,控制终端没有变化,因此,还不算真
6、正的脱离开来,而setsid()函数可以让进程完全独立开来。 (3).改变当前目录为根目录 使用fork创建的子进程继承了父进程的工作目录,导致当前工作目录不能卸载,可能造成一些麻烦通常都是让根目录为守护进程的当前目录,用函数chdir(); (4).重设文件权限掩码 文件权限掩码指屏蔽掉文件权限中的对应位,比如一个文件的权限掩码是050,就屏蔽了文件组拥有者的可读和可执行权限,子进程继承了父进程的一切东西,当然也包括权限掩码,导致子进程是用文件有诸多麻烦,因此把文件权限掩码设置为零,就可以增加该守护进程的灵活性。 (5).关闭文件描述符 同权限掩码一样,子进程继承了父进程的一些打开的文件,这些文件可能子进程永远也用不到,但是它们一样消耗系统资源,而且导致所在的文件系统无法卸载。2. 说明setsid函数的作用。 进程从它的双亲进程获得它的对话过程和进程组识别号。setsid()就是将进程和它当前的对话过程和进程组分离开,并且把它设置成一个新的对话过程的领头进程。3.列举出守护进程编写过程中使用syslog服务的注意事项。 答:syslog是Linux中的系统日志管理服务,通过守护进程syslogd来维护
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中枢神经系统脱髓鞘疾病的临床护理
- 现代通信及应用概述
- 府奖学金申请书
- 简易委托支付协议
- 2025年幼儿教育教学工作总结模版
- 策划部部门工作总结模版
- 物流管理集装箱体系优化
- 重症疾病护理核心要点解析
- 服装搭配系统化培训指南
- 流动人口清查总结
- 2024-2025学年陕旅版(三起)小学英语四年级下册(全册)知识点归纳
- 跟着人民币旅游
- 浮生六记课件
- 中国城市规划与建设发展报告
- 人工智能技术与知识产权保护
- 中国企业可持续发展报告指南CASS-ESG 6.0-土木工程建筑业
- 交通运输行业消防隐患排查措施
- 2025浙江杭州学军中学保送生自主招生数学试卷(含答案详解)
- 养生馆员工管理制度
- 第三单元 传承中华传统文化 单元测试题(含答案)-2024-2025学年下学期 七年级道德与法治
- TCAWAORG 014-2024 老年综合评估及干预技术应用规范
评论
0/150
提交评论