Linux 父进程发送信号杀死子进程
2024-08-31 10:21:20
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
void handler(int arg)
{
printf("receive SIGCHLD\n");
}
int main(int argc, const char *argv[])
{
signal(SIGCHLD,handler); //注册信号回调函数,当信号发生会调用handler
pid_t pid;
pid = fork();
if(pid < )
{
perror("fork fail ");
exit();
}
else if(pid == ) //子进程
{
while()
{
printf("child \n");
sleep();
}
}
else //父进程
{
sleep(); //睡 1 秒
kill(pid,SIGKILL);//杀死 pid 发送进程的信号,kill 给其他进程发送信号,指定进程号
printf("child killed\n"); printf("father \n");
wait(NULL); //等待回收子进程的资源
raise(SIGKILL); //杀死自己的信号,函数raise 给自己发送信号
} return ;
}
测试:
最新文章
- 我的Objective-C系列文章
- 大熊君大话NodeJS之------Global Objects全局对象
- Oracle 时间,日期 类型函数及参数详解
- Java Hour 28 HashSet
- eclipse cdt代码悬停窗口背景颜色设置(转载)
- Leetcode#78 Subsets
- dnat,snat
- mac下识别国产android手机
- 原来Github上的README.md文件这么有意思——Markdown语言详解
- 【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析
- 添加一个非模态对话框在revit中
- 二叉查找树(BST)的实现
- vim YouCompleteMe 遇到的问题及解决
- RestTemplate proxy 设置方式
- openCV 调用摄像头
- 集合总结(全是代码)----------java基础学习
- 怎么看SQL表里某列是否是自增列
- 【奔走相告】- Github送福利:用户可免费创建私有代码库啦
- 备份一篇SVN的文章, 从搭建到主备库
- iOS - 选取相册中iCloud云上图片和视频的处理