ในส่วนนี้เราจะมาดูวิธีการใช้ fork() เพื่อสร้างโปรเซสลูกใน C และเราทำงานบางอย่างที่แตกต่างกันในแต่ละกระบวนการ ดังนั้นในกระบวนการหลักของเรา เราจะพิมพ์ค่าต่างๆ กัน
เมื่อเรียก fork() จะส่งกลับค่า หากค่ามากกว่า 0 แสดงว่าอยู่ในกระบวนการหลัก มิฉะนั้นจะอยู่ในกระบวนการย่อย เมื่อใช้สิ่งนี้ เราจึงสามารถแยกแยะระหว่างกระบวนการต่างๆ ได้
โค้ดตัวอย่าง
#include <stdio.h>
#include <unistd.h>
int main() {
int n = fork(); //subdivide process
if (n > 0) { //when n is not 0, then it is parent process
printf("Parent process \n";
} else { //when n is 0, then it is child process
printf("Child process \n");
}
return 0;
} ผลลัพธ์
soumyadeep@soumyadeep-VirtualBox:~$ ./a.out Parent process soumyadeep@soumyadeep-VirtualBox:~$ Child process soumyadeep@soumyadeep-VirtualBox:~$