易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux中fork()如何实现父子进程不同的返回值

        网上关于fork()文章都说fork()来创建子进程,利用返回值的不同来执行不同的代吗段.但都没有说到如何实现不同的返回值.下面我将和你来说说这个问題:
        考虑如下代码:
        int    i   =    fork();
        if ( i  )
        {
        ......
        }
        else
        {
        ........
        }
        .......
        当父进程执行到这一句时:int   i = fork(),就创建了一个新的进程,新的进程有自己的堆栈段和代码段,但是和父进程共享代码段.最需要主意的是,
子进程的上下文也和父进程相同,这就是说,此时,父进程的 PC指向int   i   =  fork(),子进程的 PC也指向int     i  =  fork().但是,谁都知道,当前PC指向的这个语句是涵数调用,即然是涵数调用,就有返回值,返回值放在哪里呢?就是放在进程的各自堆栈中.所以在父进程调用fork()时,fork()涵数在父进程的堆栈中写入子进程的进程ID,而又在刚刚创建的子进程的堆栈中写入0.fork()涵数调用结束后,因为有新的进程,所以系统要重新调度,就在这一刻,父子进程的PC指向fork()涵数返回处,如果父进程得到运行,则父进程从自己的堆栈中得到的返回值是子进程的ID,从而   i  =  ID;如果子进程得到运行,则子进程从自己的堆栈中得到的返回值是0,即  i   =  0.
     
又考虑以下代码:
      int    i  =  fork();
          .......
      int    j   = fork();
          


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

Linux 下 Qt Creator 的安装使用

Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐。Qt
Creator 是 Nokia 官方推出的专门针对 Qt 开发的 IDE。本文详细介绍了 Linux 下 Qt Creator 的安装,并针对
Qt Creator 的使用举了一个 Hello World 级别的例子,希望对第一次接触 Qt Cre ......

linux配置java环境变量(详细)

现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java环境配置吧,希望对大家有帮助。
一. 下载jdk5.0 for linux
  到sun的主页 http://java.sun.com/j2se/1.5.0/download.jsp 下载jdk安装文件jdk-1_5_0_05-linux-i586 ......

linux的free命令中,cached和buffers的区别

linux的free命令中,cached和buffers的区别
Free
  free 命令相对于top 提供了更简洁的查看系统内存使用情况:
  $ free
  total used free shared buffers cachedMem: 255268 238332 16936 0 85540 126384-/+ buffers/cache: 26408 228860Swap: 265000 0 265000
  Mem:表示物理内存统计
  -/+ buffers/ca ......

嵌入式linux下QT3/Embedded的输入设备驱动接口

一、Qt3/Embedded的输入设备的驱动接口实现原理分析
       1、Qt3/Embedded把与底层硬件相关的源文件统一放在src/embedded目录下,所以我们最好也把自己的设备驱动接口文件放到此目录。
2、Qt/Embedded中的输入设备分为鼠标类与键盘类。在3.x版本系列中,鼠标设备的抽象基类为QWSMouseHandler,在sr ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号