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

原创 2015年11月21日 20:01:58

The first _exit 函数:

 

 

源代码:

 

                  

#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;

         int* tmpstatus;

        

         Spid_t=fork();

        

         if(Spid_t<0)

         {

                   perror("forkerror");

                   _exit(-1);

                  

         }elseif(Spid_t==0)

                            {

                                     //子进程要做的事。

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

                                     _exit(0);

                                    

                            }

                            else

                            {

                                     //父进程要做的事。

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

                                    

                                     //我先使用waitpid

                                    

                                     rpid_t=waitpid(Spid_t,tmpstatus,NULL);

                                    

                                    

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

                                    

                                     if(WIFEXITED(tmpstatus))

                                       {

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

                                                

                                       }

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

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

                                    

                                     _exit(2);

                                      

                                      

                            }

         return0;

}

 

 

运行结果截图:

 

 

《UNIX环境高级编程》笔记--读和写流

一旦打开了流,则可以对流进行读写:每次一个字符,每次一行,二进制。 1.每次一个字符 使用下面三个函数用于一次读一个字符。 #include int getc(FILE* fp); int fge...
  • TODD911
  • TODD911
  • 2013年10月20日 19:25
  • 1492

《unix环境高级编程》 读书笔记 (7)

process control 1 process identifiers 每一个进程都有一个唯一的非负整型做为标识符。 #include pid_t getpid(); pid...
  • alex_my
  • alex_my
  • 2014年09月17日 17:54
  • 1369

《UNIX环境高级编程》学习经验总结

《UNIX环境高级编程》学习经验总结
  • BlitzSkies
  • BlitzSkies
  • 2015年02月13日 14:37
  • 2610

UNIX环境编程-----原始套接字学习笔记----转载实例

转载自: http://blog.chinaunix.net/uid-23069658-id-3280895.html   基于原始套接字编程        在开发面向连接的TCP和面向无连接...
  • H002399
  • H002399
  • 2015年12月09日 09:10
  • 213

UNIX环境编程学习笔记------编程实例----域名解析函数的函数原型即getaddrinfo()函数原型

域名解析函数的函数原型: (这个函数内部调用了DNS服务,访问了DNS服务器) : man 3  getaddrinfo GETADDRINFO(3)             ...
  • H002399
  • H002399
  • 2015年11月27日 14:05
  • 430

UNIX环境编程学习笔记---------编程实例----自己写的CS程序

/* 任务:书写一个自己的CS模型的程序 任务分解: 1.先写一个server程序 .定义一个套接字地址 .创建一个套接字 .把套接字地址与套接字相绑定 .把套接字置于liste...
  • H002399
  • H002399
  • 2015年11月28日 16:10
  • 339

Unix环境高级编程学习笔记(十二) 高级进程间通信

基于流的管道(STREAMS-Based Pipes) 所谓基于流的管道实际上就是一种全双工管道,它必须在基于流的系统上才能实现,linux 默认对它是不支持的,而同样的逻辑,我们通常可以用基于 U...
  • justaipanda
  • justaipanda
  • 2012年09月08日 18:48
  • 3228

unix环境高级编程 学习笔记4

//unix系统调用的文件操作函数是一般不带f开头的,当既有不带,也有带的时候,带的通常是有以文件描述符为参数的函数。如:stat、fstat 第四章 文件和目录 [仅作学习笔记,其中可能有误...
  • kangquan2008
  • kangquan2008
  • 2011年11月14日 19:49
  • 650

unix环境编程学习笔记------套接字缓冲区的原理

转载自:http://oss.org.cn/kernel-book/ch12/12.4.2.htm 套接字缓冲区操作基本原理 在传输过程中,存在着多个套接字缓冲区,这些缓冲区组成一个链...
  • H002399
  • H002399
  • 2015年09月22日 19:24
  • 226

UNIX环境高级编程之学习笔记(四)-文件和目录(2)

1. 由于符号链接的存在,当使用以名字引用文件的函数时,就应当要了解函数是否处理符号链接了,也即该函数是否跟随符号链接到达它所链接的文件。相关函数总结如下: 1,当路径名...
  • fivedoumi
  • fivedoumi
  • 2012年03月05日 16:19
  • 565
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unix环境编程学习笔记-----编程实例---- the fist exit
举报原因:
原因补充:

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