该函数的调用方式如下所示:
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)。