#include<stdio.h>
#include<stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>//wait 1.阻塞等待子进程结束,当任意一个子进程结束或者该进程接收到一个信号,立即返回。
//2.当前进程回收子进程的8kb物理资源,防止子进程变僵尸进程。
//自杀函数abort()
//WIFEXITED  WIFSIGNALED
int main(void)
{printf("main process pid = %d\n",getpid());int status;pid_t pid;pid = fork();//创建子进程if(pid < 0){perror("fork error");exit(1);//结束进程}if(pid == 0){printf("子进程pid = %d\n",getpid());sleep(1);//abort(); //自杀函数exit(2);}if(pid > 0){printf("父进程pid = %d\n",getpid());//阻塞等待任意子进程,回收子进程8kb物理内存wait(&status);//判断子进程结束状态if(WIFEXITED(status))//进程正常结束{printf("normal exit status = %d\n",WIFEXITED(status));}if(WIFSIGNALED(status))//进程异常终止{printf("recv signal exit\n");}printf("-------------\n");exit(1);}return 0;
}
//没有abort(); //自杀函数
/*$ ./a.out
main process pid = 24896
父进程pid = 24896
子进程pid = 24897
normal exit status = 1
-------------
*///有abort(); //自杀函数
/*
$ ./a.out
main process pid = 24929
父进程pid = 24929
子进程pid = 24930
recv signal exit
-------------
*/

wait()函数,自杀函数abort(),WIFEXITED WIFSIGNALED相关推荐

  1. C语言signal()函数(通过设置一个函数(回调函数)来处理捕获到异常信号时需要执行的操作)

    文章目录 描述 声明 参数 返回值 实例 附加解释 背景知识:C语言中signal函数简介及使用 描述 C 库函数 void (*signal(int sig, void (*func)(int))) ...

  2. 6、宏定义与预处理、函数与函数库

    C语言预处理理论 由源码到可执行程序的过程 源码.c->(编译)->elf可执行程序 源码.c->(编译)->目标文件.o->(链接)->elf可执行程序 源码.c ...

  3. java assert函数_assert函数-论java中assert函数和Python、PHP、C语言assert函数

    assert函数广泛在java.Python.PHP.C语言中存在,都有统一的意义,用业界语言称之为"断言".最初的出发点都是为了方便调试而设计的,但是最近越来越多的开发者不分测试 ...

  4. Java箭头函数,lambda函数

    Java箭头函数,lambda函数 lambda表达式实质就是一种语法糖,(建议尽量不要使用lambda表达式,代码太简洁,难懂,难以调试) lambda表达式的简单例子: 不需要参数,返回5 ()- ...

  5. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  6. python nums函数_Python函数

    一.简介 函数是可重用的程序代码块.函数的作用,不仅可以实现代码的复用,更能实现代码的一致性.一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现. 函数用关键字def来定义,def关 ...

  7. Python源码学习:Python函数浅析-函数闭包

    Python源码分析 本文环境python2.5系列 参考书籍<<Python源码剖析>> 上一篇分析了函数参数的分析后,本文分析函数闭包的实现.函数闭包即函数定义和函数表达式 ...

  8. querywrapper or and嵌套_两个经常用的逻辑函数AND函数,OR函数

    在逻辑函数里AND函数,OR函数是使用频率是比较高的函数,但像NOT函数和XOR两个函数就略显鸡肋了. 今天我们重点对前两个函数进行讲述,后两个大家可以自行查看下,知道就行了,等哪天可以用上的时候再进 ...

  9. R语言使用trimws函数:trimws函数去除(删除、remove)字符串头尾的空格

    R语言使用trimws函数:trimws函数去除(删除.remove)字符串头尾的空格 目录 R语言使用trimws函数:trimws函数去除(删除.remove)字符串头尾的空格

最新文章

  1. 0x62.图论 - 最小生成树
  2. 实战4节点Centos7.3 安装Kubernetes集群
  3. 【机器学习算法-python实现】svm支持向量机(1)—理论知识介绍
  4. c++中有表示正无穷的数吗_简单的数
  5. d3中文案例_D3.js柱状图例子
  6. matlab 2010 工具箱,Matlab2010下使用FULLBNT工具箱實現簡單的靜態貝葉斯網絡及推理...
  7. Pytorch入门-2
  8. 苹果电脑 默认安装jdk位置_收藏起来你一定用的上!JDK的安装和配置
  9. net修复工具_Stimulsoft Ultimate v2020.3.2修复性更新升级!| 附下载
  10. php利用svn hooks将程序自动发布到测试环境
  11. hadoop命令使用put上传文件报错
  12. CodeSmith 介绍
  13. 号外号外!兹有第一届区块链技术及应用峰会(BTA)·中国热点议题新鲜出炉,首轮盘点先睹为快...
  14. html放大镜,可清晰放大整个网页
  15. 1.54寸墨水屏驱动板原理图+PCB
  16. java大话西游单机版,【大话西游】手工架设服务端+双客户端+加密解密全套工具...
  17. Android 高级UI解密 (三) :Canvas裁剪 与 二维、三维Camera几何变换(图层Layer原理)
  18. 简单粗暴搞定webpack4的style-loader!css-loader
  19. 浅析“关于区块链解决资本主义问题还是社会主义问题”的对与错
  20. 煤化工专用阀门有哪些?

热门文章

  1. Linux系统密码忘记后的五种恢复方法
  2. AWS Certificate Manager 简介
  3. java基本微信小程序的心理服务平台 uniapp 小程序
  4. 微信小程序nodejs+vue校园快递代拿系统uniapp校园互助系统
  5. 海底捞 如何打造全渠道+全场景的智能客服系统?
  6. ORA-01034:oracle不可用 的解决方法
  7. 诚之和:今年市值蒸发2323亿港元,海底捞关店的真正原因是什么?
  8. 英文图片文字识别(提取)
  9. 视频直播app源码,实现一个展开和关闭的动画效果
  10. kube-proxy 详解