当前位置:  技术问答>linux和unix

使用fork()创建进程

    来源: 互联网  发布时间:2015-12-05

    本文导语:  初学fork(),写了以下程序: #include  #include  int main(void) { int i; int n; n=4; for(i=0;i C1 循环2: P1 -> C2, C1 -> C11 循环3: P1 -> C3, C1 -> C12, C11 -> C111, C2 -> C21 循环4: P1 -> C4, C1 -> C13, C11 -> C112, C111 -> C11...

初学fork(),写了以下程序:
#include 
#include 

int main(void)
{
int i;
int n;
n=4;
for(i=0;i C1
循环2: P1 -> C2, C1 -> C11
循环3: P1 -> C3, C1 -> C12, C11 -> C111, C2 -> C21
循环4: P1 -> C4, C1 -> C13, C11 -> C112, C111 -> C1111
        C12-> C121, C2 -> C22, C21 -> C212 , C3 -> C31
这样生成了16个进程,就打了16个hello
我也是刚学linux,不知有没有写错,大家帮忙给看下吧。


|
很有意思的代码,fork出来子孙进程应该是15个,加上父进程本身就会打印出16个hello,
执行过程如下
                          
             i=1     i=2      i=3
     i=0  |--C11--|--C111--C1111--exit
   |--C1--|       |  
   |      |       |--C112(i=3)--exit        
   |      |  i=2     
   |      |--C12----C121(i=3)--exit
   |      |  
   |      |--C13(i=3)--exit
   | 
   |--C2(i=1)-|-C21(i=2)--C211(i=3)--exit
   |          |
P1-|          |-C22(i=3)--exit
   |
   |--C3(i=2)--C31(i=3)--exit
   |
   |--C4(i=3)--exit

    
 
 

您可能感兴趣的文章:

  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • 使用ps命令,如何使用系统命令根据进程名称获取进程和子进程的ID?除了ps,还有其它系统命令的办法吗?谢谢。
  • 怎么打开一个进程并得到这个进程内存使用的信息?
  • fork一个子进程后在打开一个文件,如何在子进程中使用这个打开的文件描述符号
  • linux进程(线程)运行过程中如何获取本进程当前的内存使用状况,统计信息?
  • 如何实现这样的API,可同时被不同的进程/线程使用,但是又不区分进程/线程?
  • 如何查看某个进程的cpu使用和内存使用情况????
  • 关于大于2G内存的使用.....按32位编译的进程怎么使用大于2G的内存?
  • 如何使用另外进程的socket
  • [急]linux对于c 如何获得一个进程及其子进程从开始到结束 它的最大CPU% MEM%使用率
  • 子进程用_exit退出,父进程为什么就不能让stdout使用缓存呢?
  • AIX系统中不使用lsof,还有没有其他命令可以知道端口是被那个进程使用
  • 进程间通信:pthread_cond使用在线程间,我要进程间条件同步(没有情缘关系的进程),采用什么方呢?也就是说我要在UNIX实现WIN32上命名Event的功能
  • 请问在 linux 下如何使用 execl() 调用另一个多进程的程序?
  • 计算进程的内存使用量应该使用/proc/self/statm哪几个量相加表示?
  • 怎么查一个特定进程使用的端口号啊
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • 有人研究 或者 使用 实时进程 吗?请进来好吗?
  • 进程对串口读写时使用互斥机制吗?
  • 请问在UNIX上如何看一个进程的内存使用情况?
  • linux进程(线程)运行过程中如何获取本进程当前的内存使用状况,统计信息? iis7站长之家
  • 使用mdev不能自动在dev下创建节点
  • 使用 JS 创建 GUI 应用 slfsrv
  • php使用mkdir创建多级目录入门例子
  • 继续问:使用Motif库的OverrideShell创建的窗口怎么放在屏幕的中央?
  • linux使用shell脚本,如何创建用户,并设置用户密码?能否给出示例?
  • .a库的创建和使用问题
  • 如何使用kdevelop创建动态共享库程序,请高手指点
  • 我如何使用mknod命令创建这样的一个文件?
  • python使用循环实现批量创建文件夹示例
  • Linux上能创建限制使用磁盘空间的用户吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • exit和fork是什么关系?他们是怎么配合使用的?
  • fork~exec不会使用,请问怎么使用,我只是想简单的用进程调用一个程序。
  • 线程和fork,为什么要使用pthread_atfork?(一楼从来都有分)
  • 关于跨越fork调用使用管道,会打开4个文件描述符?
  • 我编的一个关于使用fork()的c程序,图方便想在turbo C里面运行,可是总说找不到#include <unistd.h>??
  • 怎么样使用fork函数?哪位大侠能把下面两个程序用fork连接起来成为一个通信程序?
  • 老师留的一道关于使用fork()创建child来并行处理的作业题,请各位大侠给点灵感,跪谢!!!!
  • 做了一个简单的server,里面使用fork()创建子进程,但是导致不能通信,大家谁知道是怎么回事。
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • c#中SAPI使用总结——SpVoice的使用方法
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 使用了QWidget的程序,如何使用后台程序启动它?
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • Jsp可否使用带有GUI的JavaBean,如何使用?
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • asp程序使用的access在Linux下如何使用!
  • c/c++预处理命令预#,##使用介绍
  • 新装的Linux使用root用户不能使用FTP?
  • 在div中使用css让文字底部对齐的方法
  • LINUX下使用Eclipse,如何使用交叉编译器?
  • Python namedtuple(命名元组)使用实例
  • redhat9内存使用率高达73%,怎么查看内存具体使用情况


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3