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