ในส่วนนี้เราจะดูว่าการเรียกระบบ fork คืออะไรใน C การเรียกระบบ fork นี้ใช้เพื่อสร้างกระบวนการใหม่ กระบวนการที่สร้างขึ้นใหม่นี้เรียกว่ากระบวนการลูก กระบวนการปัจจุบันซึ่งกำลังสร้างกระบวนการลูกอื่นเรียกว่ากระบวนการหลัก
โปรเซสลูกใช้ตัวนับโปรแกรมเดียวกัน การลงทะเบียน CPU ไฟล์เดียวกันกับที่ใช้โดยกระบวนการหลัก
fork() ไม่ใช้พารามิเตอร์ใด ๆ จะส่งกลับค่าจำนวนเต็ม อาจส่งคืนค่าจำนวนเต็มสามประเภท
-
จำนวนลบ :ส่งกลับค่าลบเมื่อสร้างโปรเซสลูกล้มเหลว
-
ค่าศูนย์ :คืนค่า Zero สำหรับกระบวนการลูกที่สร้างขึ้นใหม่
-
ค่าบวก :ค่าบวกจะถูกส่งคืนไปยังกระบวนการหลัก
โค้ดตัวอย่าง
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main() {
fork(); //make a child process of same type
printf("Fork testing code\n");
return 0;
} ผลลัพธ์
soumyadeep@soumyadeep-VirtualBox:~$ ./a.out Fork testing code soumyadeep@soumyadeep-VirtualBox:~$ Fork testing code soumyadeep@soumyadeep-VirtualBox:~$