父进程循环创建5个子进程,并且父进程杀死第三个创建的子进程。

代码:kill.c

#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <unistd.h>void sys_err(const char * str)
{perror(str);exit(1);
}int main()
{//int ret = kill(getpid(),SIGKILL);//if(ret==-1) sys_err("kill error");pid_t pid,q;int i;int n = 5;for(i=0;i<n;i++){pid = fork();if(pid==-1) sys_err("fork error");else if(pid==0) break;if(i==2)q = pid;}if(i < 5){while(1){printf("I'm child %d,getpid = %u\n",i,getpid());sleep(1);}}else{sleep(1);kill(q,SIGKILL);//在父进程中杀死第三个创建的子进程while(1);}return 0;
}

结果:

第一次打印了5个进程,第二次打印少了第2个进程

linux之父进程使用kill函数杀死子进程相关推荐

  1. Linux 的父进程和子进程的执行情况(附有案例代码)

    系列文章目录 该文章主要是针对面试做大致的了解,通俗易懂!!! 一.父进程.子进程的定义 1.父进程 指已创建一个或多个子进程的进程.在Linux里,除了进程0以外的所有进程都是由其他进程使用系统调用 ...

  2. Go程序当父进程被kill,子进程也自动退出的问题记录

    平常我们启动一个后台进程,会通过nouhp &的方式启动,这样可以在退出终端会话的时候,进程仍然可以继续在后台执行(进程的父进程id会从原来的bash进程变成1) 在go程序中,通过nouhp ...

  3. linux子进程崩溃父进程如何得知并重启子进程,子进程崩溃父进程如何得知并重启子进程...

    子进程崩溃父进程如何得知并重启子进程 发布时间:2010-11-30 16:00:14来源:红联作者:skywing 大家好,我有一个程序,主进程中fork出两个进程,子进程循环执行任务, 我想做一个 ...

  4. 父进程中getpid()值与子进程中getppid()值不相同的问题及解释

    父进程中getpid()值与子进程中getppid()值不相同的问题及解释 使用fork()创建一个新的子进程,并调用getpid()与getppid()查看父子进程之间的pid的关系.示例代码如下: ...

  5. Linux中父进程为何要苦苦地知道子进程的死亡原因?

    白发人送黑发人 一个普遍的常识是,在Linux里面总是"白发人送黑发人",子进程死亡,父进程透过wait()等待子进程死亡,并清理子进程僵尸,当然父进程也可以因此而获得子进程的死亡 ...

  6. Linux下父进程子进程先后终止的不同处理

    父进程先终止: Linux系统保证每个进程都有一个父进程,若父进程比子进程先终止,则该父进程的所有子进程的父进程都变为init进程.其执行顺序大致如下:在一个进程终止时,内核逐个检查所有活动进程,以判 ...

  7. Linux C编程--进程介绍2--exec函数

    exec函数族 fork()函数是用于创建一个子进程,该子进程几乎拷贝了父进程的全部内容,但是,这个新创建的进程如何执行呢?这个exec函数族就提供了一个在进程中启动另一个程序执行的方法.  exec ...

  8. linux 更改父进程名称,[Linux进程]在父进程和子进程中分别修改变量

    /*这是一个调用fork函数创建一个子进程,然后分别打印输出子进程 和父进程中的变量的实例*/ #include #include #include #include int  glob = 6;   ...

  9. linux父进程循环,LINUX C 父进程建立多个子进程循环非堵塞回收列子

    下面 代码主要用于复习,留于此 点击(此处)折叠或打开 /*********************************************************************** ...

最新文章

  1. html怎么查看cad文件,如何直接查看CAD格式的图纸
  2. linux shell 2 /dev/null的解释
  3. boost::phoenix::lambda相关的测试程序
  4. 内容分发网络 - Content Delivery Network 学习笔记
  5. TCPDUMP/LIBPCAP 1-由零开始
  6. 线上MYSQL同步报错故障处理总结 实现同步不一致进行邮件报警
  7. spring boot 创建第一个
  8. android 互传文件,堪比隔空投送!iPhone和安卓、PC互传文件的3种方法,建议收藏...
  9. 社会工程学(科普篇)
  10. Java枚举类的使用说明
  11. 被迫学计算机,IBM超级计算机Watson爆粗口 被迫“洗脑”
  12. php怎么把字符转成大写,php将字符串全部转换成大写或者小写的方法
  13. xp系统打开internet服务器,WinXP电脑Internet选项打不开的解决方法
  14. 物理表中每2条记录符合某一条件如何合二为一输出结果
  15. 又是一个想当然的错误
  16. JavaScript判断系统语言
  17. 如何安装imgaug
  18. 机器人建模中移动关节如何建立坐标系_解析:四轴机器人和六轴机器人有什么区别?---徕深科技...
  19. 电商女装评论数据集分析
  20. poj 2480 python_python-pptx:是一个python处理ppt的库

热门文章

  1. GitHub上最牛逼的Java教程,标星yyds:算法,linux视频教程迅雷下载
  2. php家居装饰装修系统_我如何为家居装饰品牌打造最快的电子商务商店[第1部分]...
  3. Kong动态负载均衡与服务发现
  4. 在PC端应用中运行小程序 没你想得那么难
  5. java cqrs架构_团队开发框架实战—CQRS架构
  6. CSS 优先级算法如何计算?
  7. Hbuild 开发H5 APP上架App Store流程
  8. burp抓取https数据包:
  9. git新建分支详细步骤
  10. 局域网打印机共享问题