Overview
Built a simple shell to execute user commands, much like the bash shell in Linux. This project demonstrates understanding of process management, command parsing, and system-level programming.
Key Features
- Command Parsing: Parse and tokenize user input
- Process Management: Fork and execute child processes
- Built-in Commands: Support for common shell commands (cd, exit, etc.)
- I/O Redirection: Handle input/output redirection operators
- Environment Variables: Access and modify shell environment
- Signal Handling: Proper handling of signals and interrupts
Technologies
- C for systems programming
- POSIX APIs (fork, exec, waitpid)
- Linux/Unix system calls
- Process and signal handling
Learning Outcomes
- Deep understanding of process creation and management
- Command-line parsing and execution flow
- File descriptor management
- Signal handling and process termination
- Memory management in systems programming