C++ 系統可處理的最大殭屍程序數
給定任務是找到系統可以處理的最大殭屍程序數,或者換句話說,程式不會停止執行。
殭屍程序(也稱為失效程序)是指已透過 exit()(系統呼叫)完成其程序但仍在程序表中具有條目的程序。
下面程式中使用的方案如下
請注意,為了執行程式,應新增 <unistd.h>。
在 main() 函式中初始化型別為 int 的 num = 0,我們將對其進行迭代直到程式停止執行。
要啟動殭屍程序,請建立帶有條件 while( fork() > 0 ) 的 while 語句。
Fork() 系統呼叫用於啟動一個稱為子程序的新程序,該程序併發執行並進行 fork() 呼叫(即父程序)。
在 while 迴圈內遞增 num 並列印它。
示例
#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
int num = 0;
while (fork() > 0){
num++;
cout<<num<<" ";
}
}輸出
如果我們執行以上程式碼,我們將獲得以下輸出:

在以上輸出中,num 在 93 處停止遞增。但是此數字不是固定的,並且可能因系統配置而異。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP