父进程执行fork()之后会返回两次,对于子进程,得到的是0(但0不代表子进程的PID);而对于父进程,得到却是子进程的pid。这样根据得到不同的pid,就可以执行不同的程序。并且子进程继承了父进程的数据段和代码段。请执行ps -aux查看父子进程PID。
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
int main(void)
{
pid_t pid;
int stat;
pid = fork();
if(pid < 0)
{
perror("fork");
return 1;
}
/*子进程*/
else if(pid == 0)
{
printf("Child process:%d\n", getpid());
sleep(10);
while(1);
}
/*父进程*/
else
{
printf("Parent process:%d\n", getpid());
printf("Send kill signal to child process (%d)\n", pid);
sleep(1);
kill(pid, SIGKILL);
wait(&stat);
if(WIFSIGNALED(stat))
{//<sys/wait.h>定义的检查wait和waitpid所返回的 终止状态的宏,其中:WIFSIGNALED(stat),如果是异常终止子进程返回的状态则为真,WTERMSIG(stat)取使自3进程异常终止的信号编号。
printf("Child process received signal (%d).\n", WTERMSIG(stat));
}
}
return 0;
}
相关推荐
这是我的4510的原理图,望高手帮忙看看
宽负载范围零电压开关三电平直流变换器
鹏鲲量子科技算法驱动决策:AI技术如何革新传统代运营模式
vxworks文字处理问题
帮个忙看看!
51控制RTL8019AS网卡的相关资料
传三星将采用长江存储专利混合键合技术:用于400+层的第10代V-NAND闪存
电子科技大学--嵌入式系统应用开发技术13
豪华版s3c44b0 uClinux跑不起来!
512KBSRAM HM628512的pdf文档
改进型移相全桥ZVS主电路
ZVSCS PWM全桥电路有限双极性控制电路的功率部分
电子科技大学--嵌入式系统应用开发技术11
信息技术应用创新专业人员(ITP)人才培养专项座谈会成功举办
电子科技大学--嵌入式系统应用开发技术15
羽乐科技荣获新金融联盟“卓越价值贡献奖”,以数据智能赋能金融业高质量发展
深圳AI工业赛道添新力!深圳市诚世凯科技有限公司获200万天使轮融资
财经观察:缺核心技术,印度新能源电池计划放缓
消息称飞书将推出首款硬件,与安克协作打造“AI录音豆”
电子科技大学--嵌入式系统应用开发技术14
62256 32K字节的8位数据宽度的ram
终极3D集成,将颠覆未来的GPU
双向可控硅实现调光技术细节
4N35_4N36_4N37光电偶合器件
基本的三电平直流变换图
6N138 6N139 高倍率达灵顿光藕合IC
电子科技大学--嵌入式系统应用开发技术12
麻烦推荐一个适用于cs8900a的变压器型号
智能航线升级!相机视场角航线拍照点,思翼科技发布UniGCS v3.0
零电压开关三电平直流变换器