使用system函数时应该忽略两个信号16.pdfVIP

  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文档。上传文档
查看更多
使用system函数时应该忽略两个信号16

DDLLUUTTBBrruucceeZZhhaanngg的的专专栏栏 生生活活就就是是需需要要有有创创意意例例如如:: ooddiinngg DDeebbuugg [[置置顶顶]] 使使用用ssyysstteemm函函数数时时应应该该忽忽略略两两个个信信号号 分类: 《UNIX环境高级编程》 2013-05-11 16 :48 544人阅读 评论 (0) 收藏 举报 编辑器终端printfUNIX 在在88..1133节节,,我我们们展展示示了了一一个个ssyysstteemm函函数数的的实实现现。。然然而而,,那那个个版版本本没没有有处处理理信信号号。。PPOOSSIIXX..11要要 求求ssyysstteemm忽忽略略 SSIIGGIINNTT和和SSIIGGQQUUIITT并并阻阻塞塞SSIIGG HHLLDD。。在在展展示示正正确确处处理理这这些些信信号号的的版版本本之之前前,,我我们们看看下下为为什什么么 需需要要担担心心这这些些信信号号的的处处理理。。 下下 面面的的代代码码使使用用了了88..1133节节的的ssyysstteemm版版本本来来调调用用eedd编编辑辑器器。。 ((这这个个编编辑辑器器作作为为UUNNIIXX系系统统的的一一 部部分分已已经经有有很很长长时时 间间了了。。我我们们在在这这里里使使用用它它是是因因为为它它是是一一个个 捕捕获获中中断断和和退退出出信信号号的的交交互互式式程程序序。。如如果果我我们们调调 用用一一个个外外壳壳并并输输入入中中 断断符符,,那那么么它它捕捕获获这这个个中中断断符符并并打打印印一一个个问问号号。。eedd程程序序也也设设置置了了退退出出信信号号的的布布署署以以便便它它被被忽忽 略略。。)) #include signal.h static void sig_int(int signo) { printf(caught SIGIN \n); } static void sig_chld (int signo) { printf(caught SIGCHLD\n); } int main (void) { if (signal (SIGIN , sig_int) == SIG_ERR) { printf(signal (SIGIN ) error\n); exit(1); } if (signal (SIGCHLD, sig_chld) == SIG_ERR) { printf(signal (SIGCHLD) error\n); exit(1); } if (system (/bin/ed) 0) { printf(system () error); exit(1); } exit(0); } 上上面面的的代代码码同同时时捕捕获获了了SSIIGGIINNTT和和SSIIGG HHLLDD。。运运行行结结果果为为:: $$ ..//aa..oouutt   aa ((添添加加文文本本命命令令)) 1 HHeerree iiss oonnee lliinnee ooff tteexxtt .. ((终终止止添添加加模模式式)) 11,,$$pp ((从从第第一一行行开开始始打打印印)) HHeerree iiss oonnee lliinnee ooff tteexxtt ww tteemmpp..ffoooo ((把把缓缓冲冲写写入入文文件件)) 2255 ((写写了了2255个个字字节节)) qq ((退退出出)) ccaauugghhtt SSIIGG HHLLDD 当当 编编辑辑器器终终止止时时,,系系统统向向父父进进程程 ((aa..oouutt进进程程))发发送送SSIIGG HHLLDD信信号号。。我我们们捕捕获获它它并并从从信信号号处处 理理器器返返回回。。但但是是如如 果果它它正正在在捕捕获获SSIIGG HHLLDD信信号号,,父父进进程程应应 该该正正这这样样做做,,因因为为它它已已经经创创建建了了它它 自自己己的的子子进进程程,, 以以便便知知道道它它的的子子进进程程

文档评论(0)

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

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

1亿VIP精品文档

相关文档