ゾンビでもわかるC言語プログラミング

C言語入門者の応援をします

[C言語] forkを使用して子プロセスを生成する

Index

1.はじめに

forkシステムコールを使用することで、子プロセスを生成することができる。
プロセスを生成したプロセスを親プロセス、生成されたプロセスを子プロセスと呼ぶ。

2.書式

#include <unistd.h>
pid_t fork(void);  

3.戻り値

成功した場合、親プロセスには子プロセスの PID を返し、子プロセスには、0 を返す。
失敗した場合、親プロセスに -1 を返す。

4.簡単なforkプログラムを書いてみる

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
    pid_t pid;

    pid = fork();

    if(pid == -1) {
        perror("fork");
        exit(-1);
    } else if(pid == 0) {
        printf("Child\n");
    } else {
        printf("Parent\n");
    }

  return 0;
}

実行すると以下の出力になり、子プロセスが生成できていることがわかる。

Parent
Child

書籍

新・明解C言語 入門編 (明解シリーズ)

新・明解C言語 入門編 (明解シリーズ)

苦しんで覚えるC言語

苦しんで覚えるC言語

やさしいC 第5版 (「やさしい」シリーズ)

やさしいC 第5版 (「やさしい」シリーズ)

C実践プログラミング 第3版

C実践プログラミング 第3版