课程名称:C/C++气象数据中心实战,手把手教你做工业级项目
课程章节:2-9服务程序的调度
主讲老师: 吴从周
课程内容:
1、熟悉服务程序的调度规则和分类
2、通过课程实例演示并深入学习execl函数的用法和注意事项
3 将fork函数和execl函数结合在一起,实现execl函数在实际开发时的调度作用。
课程收获:
服务程序的调用一般分为两种模式,第一种是周期性启动的后台服务程序,可以由用户自己决定启动与否,可以是不常用的服务程序,或者是与系统稳定性无关的服务程序,另一种是常驻于内存中的服务程序,需要也有必要在短时间内能够重启的服务程序。
EXECL函数,是服务程序的调度中最重要的函数之一,调用execl函数时,会将execl函数参数中的指定程序替换掉当前进程的程序 ,将其中的正文段,数据段,堆和栈均进行替换,即execl函数进行调用后,当前程序位于execl函数之后的代码不会被执行,因为已经在调用exe函数时,当前程序的进程就已经被替代了,没有了,但是在调用失败时,会进行正常运行。
但是在实际开发中,需要在调用execl函数之后继续运行后续代码,所以将fork函数与其结合起来。通fork函数,去创建一个子进程,使用子进程去调用exe函数执行新的程序,这样就不会影响父进程代码的正常执行。父进程中,亦可调用wait函数,等待exe函数调用的新程序运行的结果。 这样即可实现程序调度的功能