init.c
来自「美国mit操作系统课程所用的一个教学操作系统xv6」· C语言 代码 · 共 38 行
C
38 行
// init: The initial user-level program#include "types.h"#include "stat.h"#include "user.h"#include "fcntl.h"char *sh_args[] = { "sh", 0 };intmain(void){ int pid, wpid; if(open("console", O_RDWR) < 0){ mknod("console", 1, 1); open("console", O_RDWR); } dup(0); // stdout dup(0); // stderr for(;;){ printf(1, "init: starting sh\n"); pid = fork(); if(pid < 0){ printf(1, "init: fork failed\n"); exit(); } if(pid == 0){ exec("sh", sh_args); printf(1, "init: exec sh failed\n"); exit(); } while((wpid=wait()) >= 0 && wpid != pid) printf(1, "zombie!\n"); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?