Computer >> Máy Tính >  >> Lập trình >> lập trình C

fork () trong C

Trong phần này, chúng ta sẽ xem lệnh gọi hệ thống rẽ nhánh trong C. Lệnh gọi hệ thống rẽ nhánh này được sử dụng để tạo một quy trình mới. Quá trình mới được tạo này được gọi là quá trình con. Quy trình hiện tại đang tạo một quy trình con khác được gọi là quy trình mẹ.

Một quy trình con sử dụng cùng một bộ đếm chương trình, thanh ghi CPU, cùng các tệp được quy trình mẹ sử dụng.

Fork () không nhận bất kỳ tham số nào, nó trả về các giá trị nguyên. Nó có thể trả về ba loại giá trị số nguyên.

  • Số âm :Nó trả về số âm khi tạo quy trình con không thành công

  • Giá trị bằng không :Nó trả về Zero cho tiến trình con mới được tạo

  • Giá trị Tích cực :Giá trị dương được trả về quy trình mẹ.

Mã mẫu

#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;
}

Đầu ra

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