はじめに

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

書式

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

戻り値

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

簡単な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

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です