init.c

来自「类unix x86平台的简单操作系统」· C语言 代码 · 共 38 行

C
38
字号
#include "types.h"#include "stat.h"#include "user.h"#include "fs.h"#include "fcntl.h"// init: The initial user-level programchar *sh_args[] = { "sh", 0 };intmain(void){  int pid;  if(open("console", O_RDWR) < 0){    mknod("console", T_DEV, 1, 1);    open("console", O_RDWR);  }  dup(0);  // stdout  dup(0);  // stderr  for(;;){    pid = fork();    if(pid < 0){      puts("init: fork failed\n");      exit();    }    if(pid == 0){      exec("sh", sh_args);      puts("init: exec sh failed\n");      exit();    } else {      wait();    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?