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

Số lượng quy trình Zombie tối đa mà hệ thống có thể xử lý trong C ++


Được giao nhiệm vụ là tìm số lượng quá trình Zombie tối đa mà hệ thống có thể xử lý hay nói cách khác, chương trình không ngừng thực thi.

Quá trình Zombie (còn được gọi là quá trình không tồn tại) là một quá trình đã hoàn thành quá trình của nó thông qua exit () (lệnh gọi hệ thống) nhưng vẫn có một mục trong bảng quá trình.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau

  • Lưu ý rằng cần thêm để chạy chương trình.

  • Trong hàm main (), khởi tạo num =0 kiểu int mà chúng ta sẽ lặp lại cho đến khi chương trình ngừng được thực thi.

  • Để bắt đầu quá trình zombie, hãy tạo một câu lệnh while với điều kiện - while (fork ()> 0)

    Lệnh gọi hệ thống Fork () được sử dụng để bắt đầu một quá trình mới được gọi là quá trình con chạy đồng thời và thực hiện lệnh gọi fork () (là quá trình mẹ).

  • Bên trong số gia tăng của vòng lặp while cũng như in nó.

Ví dụ

#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
   int num = 0;
   while (fork() > 0){
      num++;
      cout<<num<<" ";
   }
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, chúng ta sẽ nhận được kết quả sau -

Số lượng quy trình Zombie tối đa mà hệ thống có thể xử lý trong C ++

Trong đầu ra ở trên, số dừng tăng lên ở 93. Nhưng con số này không cố định và có thể thay đổi tùy theo cấu hình hệ thống.