+#ifdef FORK_BOMB_DEMO
+ // fork炸弹
+ for (;;) {
+ pid_t p;
+ if ((p = fork())) {
+ kprintf(KDEBUG "Pinkie Pie #%d: FUN!\n", p);
+ }
+ }
+#endif
+
+#ifdef WAIT_DEMO
+ // 测试wait
+ kprintf("I am parent, going to fork my child and wait.\n");
+ if (!fork()) {
+ kprintf("I am child, going to sleep for 2 seconds\n");
+ sleep(2);
+ kprintf("I am child, I am about to terminated\n");
+ _exit(1);
+ }
+ int status;
+ pid_t child = wait(&status);
+ kprintf(
+ "I am parent, my child (%d) terminated with code: %d.\n", child, status);
+#endif
+
+ sleep(5);
+