UNIX环境编程----编程实例---创建一个子进程并建立一个新的会话
2015-11-23 20:30
330 查看
创建一个子进程并建立一个新的会话:
源代码:
#include<unistd.h>
#include<stdio.h>
#include<fcntl.h>
#include<errno.h>
#include<sys/types.h>
int main()
{
int gpid,npid,spid;
npid=fork();
if(npid==-1)
{
perror("fork error");
_exit(0);
}else if(npid>0)
{
printf("the parent process do nothing \n");
_exit(0);
}else
{
//创建一个新会话
gpid=setsid();
if(gpid==-1)
{
perror("setsid error ");
_exit(-1);
}else
{
printf("the new session create success \n");
//判断该子进程的是不是新的组长进程
//取得子进程的进程ID
spid=getpid();
if(spid==gpid)
printf("the sub process is the group process leader \n");
}
}
return 0;
}
运行结果:
源代码:
#include<unistd.h>
#include<stdio.h>
#include<fcntl.h>
#include<errno.h>
#include<sys/types.h>
int main()
{
int gpid,npid,spid;
npid=fork();
if(npid==-1)
{
perror("fork error");
_exit(0);
}else if(npid>0)
{
printf("the parent process do nothing \n");
_exit(0);
}else
{
//创建一个新会话
gpid=setsid();
if(gpid==-1)
{
perror("setsid error ");
_exit(-1);
}else
{
printf("the new session create success \n");
//判断该子进程的是不是新的组长进程
//取得子进程的进程ID
spid=getpid();
if(spid==gpid)
printf("the sub process is the group process leader \n");
}
}
return 0;
}
运行结果:
相关文章推荐
- python字符串分割
- Java:Session详解 (转)
- Java Dom解析的三个实例
- lua 多继承实现
- Effective C++读书笔记一
- python requests库学习
- java多线程理解
- java设计模式--总体概要
- SQL学习:mysql数据库备份和使用日志恢复+python调用mysql方法(4)
- 【Java并发编程实战】—–“J.U.C”:Phaser
- ubuntu14.04在vim上配置java开发环境
- python里面写中文报错
- Maven实战(三)Eclipse构建Maven项目
- Python之自动生成解析ini文件的C++类(基于libiniparser.a)
- Python之可读写的socket逻辑
- 【JavaWeb】Session(转)
- Java IO字节流和字符流的区别
- Java IO 体系结构
- java中的并发集合类概述
- 【Java并发编程实战】-----“J.U.C”:Phaser