fork

[機能]

  fork は親プロセスと PID (プロセス ID ),および PPID ( 親プロセス ID ) だけが異なる子プロセスを生成します.成功した場合,親プロセスには子プロセスの PID が返され,子プロセスには 0 が返されます.失敗した場合,親プロセスに 1 を返し,子プロセスは生成されません.

[形式]
#include <sys/types.h>
#include <unistd.h>

pid_t fork()		
[使用例]

  1. 子プロセスを生成します
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #include <unistd.h>
    
    int main()
    {
    	pid_t pid;   // プロセスID
    					// 子プロセス
    	if ((pid = fork()) == 0) {
    		printf("子プロセス\n");
    		printf("   子プロセスの処理\n");
    		exit(0);
    	}
    					// 親プロセス
    	printf("親プロセス(PID = %d)\n", pid);
    	printf("   親プロセスの処理\n");
    
    	return 0;
    }
    			
    (出力)
    子プロセス
       子プロセスの処理
    親プロセス(PID = 1001)
       親プロセスの処理			
[参照]

spawnl, spawnv

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引