はじめに
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件のコメント