程序foo.c的源代码如下:#include <stdio.h> #include <unistd.h> int main(void) { int i = 0; printf("PID=%d\n", getpid()); for (;;) { if (fork() == 0) return 0; sleep(1); printf("%d\n", ++i); } } 编译链接后生成的可执行程序为foo,运行./foo得到的第一行输出为: PID=7812 然后程序继续运行,一段时间以后,在其他终端上执行vi bar.c失败,得到的提示信息为: -bash: fork: retry: Resource temporarily unavailable
A、在另外一个终端上执行reboot,系统重启后一切正常
B、在另外一个终端上执行killall foo之后,系统恢复正常
C、在另外一个终端上执行kill 7812之后,系统恢复正常
D、在执行foo程序的终端上按下Ctrl-C导致foo程序终止后,系统恢复正常
E、Linux之间多个进程的虚拟地址空间是独立的、隔离的,出现这样的异常现象与foo的运行无关