Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

fork() ในภาษา C


ในส่วนนี้เราจะดูว่า system call fork() ในภาษา C คืออะไร ฟังก์ชัน fork() ใช้สร้างกระบวนการใหม่ (process) กระบวนการที่สร้างขึ้นใหม่นี้เรียกว่า child process กระบวนการปัจจุบันที่สร้าง child process เรียกว่า parent process

Child process ใช้ program counter, CPU register และไฟล์เดียวกับ parent process

fork() ไม่รับพารามิเตอร์ และคืนค่าเป็นจำนวนเต็ม อาจคืนค่า 3 แบบ:

  • ค่าลบ: เมื่อสร้าง child process ล้มเหลว
  • ศูนย์: คืนให้ child process ที่เพิ่งสร้างขึ้น
  • ค่าบวก: คืนให้ parent process (เป็น PID ของ child)

ตัวอย่างโค้ด

#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() {    fork(); // สร้าง child process    printf("Fork testing code\n");    return 0; }

ผลลัพธ์

soumyadeep@soumyadeep-VirtualBox:~$ ./a.out Fork testing code soumyadeep@soumyadeep-VirtualBox:~$ Fork testing code soumyadeep@soumyadeep-VirtualBox:~$