ในส่วนนี้เราจะมาดูวิธีการใช้ 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:~$