首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>系统管理>正文

关于Linux系统Fork的使用

http://www.oklinux.cn  2007-12-19  来源:  sixth  会员收藏  游客收藏  【 】 

Fork创建一个新的进程,新创建的进程是子进程,它是对父进程以后代码的一个复制,通常用来做多进程的服务器,也可以在子进程中运行独立的代码。

 

用getpid可以判断当前是子进程还是父进程。

 

看下面这个例子:

 

 

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
static int n = 0;
printf("fork!\n");
switch (pid = fork())
{
case -1:
{
/* ..pid.-1.fork.... */
/* ........ */
/* .......... */
perror("The fork failed!");
break;
}
case 0:
{
/* pid.0.... */
printf("[child]i am child!\n");
printf("[child]getpid=[%d]\n", getpid() );
printf("[child]pid=[%d]\n", pid );
break;
}
default:
{
/* pid..0.... */
printf("[parent]i am parent!\n" );
printf("[parent]getpid=[%d]\n",getpid() );
printf("[parent]pid=[%d]\n",pid );
break;
}
}
printf("n=[%d]\n", n++);

return 0;
}

 

这个例子在linux下用gcc编译,运行结果如下:

 

 

fork!
[child]i am child!
[child]getpid=[7422]
[child]pid=[0]
n=[0]
[parent]i am parent!
[parent]getpid=[7421]
[parent]pid=[7422]
n=[0]

 

 


上一篇:解决Linux Vsftpd本地用户不能登录问题   下一篇:uClinux系统上运行自已编写的Hello程序


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux连接常用外部设备的方法
·Ubuntu Linux系统环境变量配置文件介绍
·Ubuntu Linux Wine上使用Lotus Notes 7
·Linux系统下安装Flash浏览器插件的方法
·Linux系统下文件权限查看及修改方法
·使用Testdisk恢复Linux操作系统硬盘分区
·Linux Shell下的后台运行及其前台的转换
·Linux系统下的字体管理器Fontmatrix
·Ubuntu Linux系统编译源代码安装软件示例
·Linux ES5中 Clamav杀毒软件安装与使用
·手动配置Ubuntu硬盘分区和建立文件系统
·Linux系统的时间设置与同步(NTP)
·如何调整Linux操作系统屏幕分辨率
·Linux系统下关闭指定用户帐号的方法
·Linux系统下如何判断CPU是双核还是单核
·Linux系统下如何更改终端显示分辨率
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·在Linux系统下如何调整文件打开方式
·如何在Linux系统下更改文件使用权限
·如何在Linux系统下创建ISO镜像文件
·Linux系统下如何破解PHP加密dezend软件
·Linux下恢复EXT3 Superblock的正确方法
·学习园地:Linux系统的内存管理指南
·软件推荐:开放源代码软件测试工具介绍
·Linux系统下配置OPENVZ虚拟机的过程解
·Ubuntu Linux系统下修改文档权限的方法
·VMware虚拟机Linux系统通过NAT方式上网
·通过监控Linux的运行进程来保证系统安
·安全宝典:保障Linux系统安全的九大技
  阅读排行
·使用源代码将 Glibc 升级到 2.6
·Linux下推荐的常用应用程序列表
·使用 ActiveScaffold 增强 Ruby on Rai
·什么是Linux?Linux与UNIX之间的关系
·应用:postfix邮件服务器安全策略
·提高Linux系统性能加速网络应用程序
·Linux操作系统的内核引导程序详细解析
·Linux用户(User)和用户组管理概述
·在 Linux on POWER 上利用透明大内存页
·Ubuntu Linux操作系统中的用户管理
·使用/proc文件系统来访问Linux内核
·基于linux操作系统架构openvpn总结
·Grub引导程序的安装、配置及使用汇总
·几种Linux嵌入式开发环境的简单介绍
·C++自动化(模板元)编程基础与应用(1)
网摘收藏: