`

信号编程实例:父进程拷贝文件,子进程定期询问进度

 
阅读更多

<!-- gte="" mso="" 9=""><![endif]--><!-- gte="" mso="" 9=""><![endif]--><!-- gte="" mso="" 10=""><style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style><![endif]--><!--![endif]----><!--!----><!--![endif]----><!--!----><!--![endif]----><!--!---->![endif]-->!-->![endif]-->!-->![endif]-->!-->

父进程:

(1)打开源文件和目标文件

(2)安装信号SIG_USR1,当此进程收到此信号时,执行sig_usr函数

(3)循环地读文件,直到文件读取完毕。如果读取完毕,则向子进程发送中断的信号SIGINT

(4)回收子进程wait

(5)退出exit

子进程:

(1)安装SIG_ALARM信号,当子进程收到SIG_ALARM信号时,将会调用sig_alarm函数

(2)调用ualarm函数定期产生SIG_ALARM信号

(3)While无限循环

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics