Sun Studio 12:Fortran 库参考

1.4.12 fork:创建当前进程的副本

该函数的调用方式如下所示:

INTEGER*4 fork

n = fork()

返回值 

INTEGER*4

输出 

n>0:n 为副本的进程 ID

n<0, n 为系统错误代码

fork 函数创建调用进程的副本。两个进程之间的唯一区别在于返回给其中一个进程(称为进程)的值是副本的进程 ID。副本通常称为进程。返回给子进程的值将为零。

为了避免外部文件中的 I/O 缓冲区内容重复,在执行 fork 操作之前,会刷新所有已开放供写入的逻辑单元。

示例:fork()


       INTEGER*4 fork, pid
       pid = fork()
       if(pid.lt.0) stop ’fork error’
       if(pid.gt.0) then
              print *, ’I am the parent’
       else
              print *, ’I am the child’
       endif

目前尚未提供对应的 exec 例程,这是因为没有一种令人满意的方法能够在整个 exec 例程中保持开放的逻辑单元。但是,可以使用 system(3F) 执行 fork/exec 的常用函数。另请参见:fork(2)、wait(3F)、kill(3F)、system(3F) 和 perror(3F)。