diff options
Diffstat (limited to 'src/user/init.cc')
| -rw-r--r-- | src/user/init.cc | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/user/init.cc b/src/user/init.cc deleted file mode 100644 index 376e697..0000000 --- a/src/user/init.cc +++ /dev/null @@ -1,64 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * Copyright (C) 2026 Richard QIn - */ -#include "ulib/stdio.h" -#include "ulib/stdlib.h" -#include "ulib/string.h" -#include "user/user.h" -#include "drivers/uart_color.h" - -int main() -{ - char *argv[] = {(char *)"sh", 0}; - - printf(ANSI_BLUE "\n[Init] Starting Lume OS Shell..." ANSI_RESET); - printf("\n"); - - while (1) - { - // printf("fork start\n"); - int pid = fork(); - // printf("fork suceess, pid=%i\n", pid); - - if (pid < 0) - { - printf("[Init] fork failed!\n"); - exit(1); - } - - if (pid == 0) - { - - char sh_path[] = "/sh"; - exec(sh_path, argv); - - printf("[Init] exec sh failed\n"); - return 0; - exit(1); - } - else - { - // break; - int status; - int wpid; - while (1) - { - wpid = wait((uint64)&status); - - if (wpid == pid) - { - printf("Shell Exit"); - break; - } - if (wpid < 0) - { - printf("[Init] wait error or no child\n"); - - break; - } - } - } - } - return 0; -}
\ No newline at end of file |
