当前位置:  技术问答>linux和unix

为什么每次都exit()???

    来源: 互联网  发布时间:2016-10-24

    本文导语:  # include # include # include void waiting(); void stop(); int main(void) {     int  p1, p2;    signal(SIGINT,stop);    while((p1=fork())= =-1);    if(p1>0)                           /* In Parent Process*/    {        /*(1) */  ...

# include
# include
# include

void waiting();
void stop();

int main(void)

   int  p1, p2;
   signal(SIGINT,stop);
   while((p1=fork())= =-1);
   if(p1>0)                           /* In Parent Process*/
   {        /*(1) */ 
while((p2=fork())= =-1);
        if(p2>0)                   /*in parent process*/
           {     /* (2) */
               wait_mark=1;
               waiting(0);
               kill(p1,10);
               kill(p2,12);
               wait( );
               wait( );
               printf(“parent process is killed!n”);
               exit(0);vi
            } else{          /*In Child Process 2*/
        wait_mark=1;
signal(12,stop);
waiting();
lockf(1,1,0);
printf(“child process 2 is killed by parent!n”);
lockf(1,0,0);
exit(0);
}
   }else{                             /*In Child Process 1*/
       wait_mark=1;
       signal(10,stop);
       waiting();
       lockf(1,1,0);
       printf(“child process 1 is killed by parent!n”);
       lockf(1,0,0);
       exit(0);
   }
   return 0;
}


代码中多次exit(0);为什么每次都要exit(0);?是因为每次要把权限交回给OS,OS进行KILL的操作么?

|
exit函数中的实参是返回给操作系统,表示程序是成功运行结束还是失败运行结束。对于程序本身的使用没有什么太实际的差别。习惯上,一般使用正常结束程序exit(0)。 

exit(0)    正常结束程序运行 
exit(非0)  非正常结束程序运行

如果是给调用者的返回值用return

|
exit()调用是退出进程,代码中有两个进程,要分别退出,当然你不exit也可以,程序退出的时候会自动加上exit();

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.lang类system的类成员方法: exit定义及介绍
  • 请问exit与_exit的区别?
  • java命名空间javax.swing.event类hyperlinkevent.eventtype的类成员方法: exited定义及介绍
  • System.exit(0);和System.exit(1)有什么区别?
  • java命名空间java.awt类event的类成员方法: mouse_exit定义及介绍
  • _exit()函数和_Exit()函数有区别吗?
  • java命名空间java.util.logging类logger的类成员方法: exiting定义及介绍
  • EXIT_SUCCESS和EXIT_FAILURE问题
  • java命名空间java.awt.event类mouseevent的类成员方法: mouse_exited定义及介绍
  • 操作系统 iis7站长之家
  • java命名空间javax.swing类jframe的类成员方法: exit_on_close定义及介绍
  • exit(0)和_exit(0)有什么区别呢?
  • java命名空间javax.swing接口windowconstants的类成员方法: exit_on_close定义及介绍
  • linux exit和_exit函数的辨析
  • java命名空间java.lang类runtime的类成员方法: exit定义及介绍
  • exit和fork是什么关系?他们是怎么配合使用的?
  • 我在shell中su 到其它用户然后exit就退出shel
  • 关于exit函数,参数值的疑问
  • exit与wait
  • 请高手帮忙解释一下,insmod ./$module.ko || exit 1中的“||”是什么意思啊,多谢!
  • 调用exit函数的一个问题?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3