Linux学习之创建子进程
来源:互联网 发布:介绍人工智能方面的书 编辑:程序博客网 时间:2024/04/30 13:17
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
/* 进程创建 */
void main(void)
{
pid_t child;
int status;
printf("This will demostrate how to get child status\n");
/* 创建子进程 */
if((child=fork())==-1)
{
printf("Fork Error : %s\n", strerror(errno));
exit(1);
}
else if(child==0) // 子进程
{
int i;
printf("I am the child: %s\n", getpid());
for(i=0;i<1000000;i++) sin(i);
i=5;
printf("I exit with %d\n", i);
exit(i);
}
while(((child=wait(&status))==-1)&(errno==EINTR)); //子进程未结束
if(child==-1)
printf("Wait Error: %s\n", strerror(errno));
else if(!status) // 子进程退出值为0
printf("Child %ld terminated normally return status is zero\n", child);
else if(WIFEXITED(status)) // 子进程退出值0
printf("Child %ld terminated normally return status is %d\n", child, WEXITSTATUS(status));
else if(WIFSIGNALED(status)) // 子进程未获信号而退出
printf("Chlid %ld terminated due to signal %d not caught\n", child, WTERMSIG(status));
}
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
/* 进程创建 */
void main(void)
{
pid_t child;
int status;
printf("This will demostrate how to get child status\n");
/* 创建子进程 */
if((child=fork())==-1)
{
printf("Fork Error : %s\n", strerror(errno));
exit(1);
}
else if(child==0) // 子进程
{
int i;
printf("I am the child: %s\n", getpid());
for(i=0;i<1000000;i++) sin(i);
i=5;
printf("I exit with %d\n", i);
exit(i);
}
while(((child=wait(&status))==-1)&(errno==EINTR)); //子进程未结束
if(child==-1)
printf("Wait Error: %s\n", strerror(errno));
else if(!status) // 子进程退出值为0
printf("Child %ld terminated normally return status is zero\n", child);
else if(WIFEXITED(status)) // 子进程退出值0
printf("Child %ld terminated normally return status is %d\n", child, WEXITSTATUS(status));
else if(WIFSIGNALED(status)) // 子进程未获信号而退出
printf("Chlid %ld terminated due to signal %d not caught\n", child, WTERMSIG(status));
}
3 0
- Linux学习之创建子进程
- linux之fork,vfork创建子进程
- linux 创建子进程
- Linux子进程创建
- Linux内核0.11分析三之创建子进程
- windows、linux创建子进程
- windows、linux创建子进程
- Linux fork()创建子进程
- linux fork创建子进程
- Linux多进程 -- 创建子进程
- Linux学习--进程创建
- Linux之进程创建
- Linux 调用fork()创建两个子进程
- 【操作系统】linux创建子进程--fork()方法
- Linux创建子进程的具体过程
- 【操作系统】linux创建子进程--fork()方法
- LInux 子进程创建函数fork简介
- Linux 创建子进程函数 --- fork
- 加急审核
- redmine与AD集成实现账号统一认证
- chrome开发者工具功能拾遗:Elements面板篇
- 动态级联 省、市、区
- light oj1116 - Ekka Dokka 【简单数学】
- Linux学习之创建子进程
- java跳出多重嵌套循环
- 使用dos指令快速导出手机文件
- 1024 杭电 max plus
- cryptico.js使用技巧
- 【OpenSource】【RxJava】RxJava
- Git
- Handling unhandled exceptions and signals
- Android 检测 手机硬件状态 的Utils