Unix环境编程学习笔记-----编程实例---- the normal exit2

原创 2015年11月21日 20:30:33

NORMAL 2:

         THESOURCE CODE:

 

#include<unistd.h>

#include<errno.h>

#include<sys/types.h>

#include<sys/wait.h>

#include<stdio.h>

#include<stdlib.h>

 

 

 

 

 

int main()

{

         intPpid_t,Spid_t,rpid_t;

         inttmpstatus;

        

         Spid_t=fork();

        

         if(Spid_t<0)

         {

                   perror("forkerror");

                   _exit(-1);

                  

         }elseif(Spid_t==0)

                            {

                                     //子进程要做的事。

                                     printf("subprocess is going to over!\n");

                                     _exit(2);//wheni change the doc what will happen ???? example : _exit(2)  ???

                                    

                            }

                            else

                            {

                                     //父进程要做的事。

                                     //父进程获取子进程的结束状态,并打印出来

                                    

                                     //我先使用waitpid

                                    

                                     rpid_t=waitpid(Spid_t,&tmpstatus,NULL);

                                    

                                    

                                     //如果正常推出则打印出进程终止装填的编号  WIFEXITED(status)

                                    

                                     if(WIFEXITED(tmpstatus))

                                       {

                                                printf("the status's value is :%d\n",WEXITSTATUS(tmpstatus));

                                                

                                       }

                                       else if(WSTOPSIG(tmpstatus))  //判断子进程是不是由信号杀死,如果是打印该信号值。

                                                        printf("thesignal value is :%d \n",WTERMSIG(tmpstatus));

                                    

                                     _exit(2);

                                      

                                      

                            }

         return0;

}

 

此时,我们传给_exit的值是2

  “_exit(2);//wheni change the doc what will happen ???? example :”

我们看运行结果:

  

Unix环境编程学习笔记-----编程实例---- the normal exit1

NORMAL :          Thesource code :            #include #include #include #include #include #...
  • H002399
  • H002399
  • 2015年11月21日 20:24
  • 93

Unix环境高级编程学习笔记(九) 高级IO

fcntl 记录锁 很多时候,当我们有多个进程要访问同一个文件的时候,为了防止多进程访问导致的不一致,我们就要考虑进程间的同步问题了。fcntl是一个非常强大的函数,在这里我们可以使用它来给文件...
  • justaipanda
  • justaipanda
  • 2012年08月28日 17:30
  • 5984

《Unix环境高级编程》学习笔记:从点到面总结

以前在课堂上学习过《Unix初级教程(第四版)》,对于Unix有了一点了解。由于以后使用的需要,要对它进行比较深入的学习,为此需要阅读不少的书籍,这本《Unix环境高级编程》便在此列。希望能通过这本书...
  • benpaobagzb
  • benpaobagzb
  • 2016年03月03日 17:33
  • 515

Unix环境高级编程的学习环境的搭建

由于学习的需要, 必须在我的Linux下面搭建这样一个开发环境. (本人使用的操作系统是 Ubuntu 15.04LTS) 1.  在网上下载书中源代码, 点此连接: 点击打开链接 2. ...
  • LinuxIPLinux
  • LinuxIPLinux
  • 2015年10月19日 16:26
  • 741

《UNIX环境高级编程》 —— 书中实例编译、运行

想认真学习《UNIX环境高级编程》的人士可能都想把书中的实例给敲一遍,运行看一下效果。但对于新手来说,可能会有一定的困难,因为例子中用到的头文件和一些函数不知道在哪里,编译可能也会出问题。这边文章就是...
  • wangyuling1234567890
  • wangyuling1234567890
  • 2014年04月02日 22:59
  • 1345

《UNIX环境高级编程》笔记--作业控制

作业控制允许在一个终端上启动多个作业(进程组),它控制哪一个作业可以访问该终端,以及哪些作业在后台运行,作业 控制要求下面三种形式的支持: 1.支持作业控制的shell。 2.内核中的终端驱动程...
  • TODD911
  • TODD911
  • 2013年12月01日 11:42
  • 1731

Unix环境编程学习笔记-----编程实例---- the fist exit

The first _exit 函数:     源代码:                      #include #include #include #include #in...
  • H002399
  • H002399
  • 2015年11月21日 20:01
  • 158

《unix高级环境编程》套接字——基于 socket 的编程

客户端: /* 基于TCP协议面向连接的客户端进程 */ #include "apue.h" #include #include #include #include "connectre.h...
  • chenhanzhun
  • chenhanzhun
  • 2014年11月20日 20:10
  • 1785

Unix环境编程------Unix编程实例------进程组&&会话

/* 编程实例: 编写一小段程序,要求调用fork并使子进程建立一个新的会话, 验证子进程变成了进程组组长且不再具有控制终端。 这个问题应当如何解决呢??? 我认为有以下几个...
  • H002399
  • H002399
  • 2015年11月23日 16:09
  • 149

UNIX环境高级编程、UNIX网络编程(卷一)环境搭建

最近学习这两本书,在直接编译书本源程序时,出现头文件“apue.h”(UNIX环境高级编程)及“unp.h”(UNIX网络编程)错误,在这里坐下配置的笔记。 首先需要安装Linux系统。(在Virtu...
  • luokh327
  • luokh327
  • 2016年01月12日 16:40
  • 1625
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unix环境编程学习笔记-----编程实例---- the normal exit2
举报原因:
原因补充:

(最多只允许输入30个字)