不管是什么系统,能抗住的操作系统的个数总是有限的。
在linux中,可以通过查看/proc/sys/kernael/pid_max知道自己系统的最大pid值。
也可以利用命令,
ulimit -u
但是这两个的值好像都在不断的变化,很奇怪,但是大致相同。
写一个程序,不断产生新的进程,很容易把系统搞崩。
1 #include <stdio.h> 2 #include <unistd.h> 3 int main() 4 { 5 while(1){ 6 fork(); 7 sleep(1); 8 } 9 }
刚开始没用sleep(1),运行该程序还没来得及开始其它操作系统就没反应了。
sleep(1)后,用top查看,没太久,pid的个数就到了8000+。然后系统没反应。